繁体   English   中英

Tkinter在显示之前设置顶级的几何

[英]Tkinter set geometry of Toplevel before displaying

我试图创建一个Toplevel是旁边出现的我的其他窗口一个窗口,但我无法找出如何在显示之前设置窗口的位置。 这是简单的几行:

histogram_window = Toplevel(self)
histogram_window.geometry('+%d+%d' % (self.__root.winfo_rootx() + self.winfo_x()*2, 
                          self.__root.winfo_rooty()))
histogram_window.transient(self.__root)

但是该窗口将首先出现,然后快速移动到我指定的位置。 如何简单地使其显示在我指定的位置?

我发现问题是由于Bryan Oakley的提醒,问题是在创建类时,我将matplotlib画布绑定到屏幕上并包装了小部件, 然后尝试同时创建Toplevel窗口。 我通过调用窗口的update()函数来解决此问题

Class some(Toplevel):
    def __init__(self, root):
        Toplevel(self, root)

        # created widget
        # pack widget

        self.read()

    def read(self):
        hist = Toplevel(self)
        hist.geometry(...)
        hist.update() #fixed the issue

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM