正如我从Tkinter参考中所理解的那样,在其父窗口上绘制了一个瞬态子窗口(居中?)。这适用于Linux,但不适用于Windows(7)。
你有什么建议为什么会这样吗?
我可以使用.geometry()方法手动居中窗口,但是当GUI计算某些值(比如一秒钟)时,会出现一个没有GUI的小窗口,然后移动到指定的位置即使我打电话给.withdraw方法。
非常感谢!
# -*- coding: utf-8 -*-
import Tkinter as tk
import ttk
class Parent(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.txt = tk.Text(master=self)
self.txt.pack()
self.btn = ttk.Button(master=self, text='Show Child',
command=self.show)
self.btn.pack()
self.mainloop()
def show(self, *args):
Child(self)
class Child(tk.Toplevel):
def __init__(self, master, *args, **kwargs):
tk.Toplevel.__init__(self, *args, **kwargs)
self.txt = tk.Text(master=self)
self.txt.pack()
Parent()
答案 0 :(得分:0)
好的,我通过以下方式解决了这个问题:
.withdraw()
窗口.geometry()
设置为居中于父窗口.update_idletasks()
.deiconify()
窗口。