[英]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.