Python2.7/Windows7/Tkinter:将临时子窗口置于父窗口之上
正如我从Tkinter参考中了解到的,在其父窗口上绘制一个临时子窗口(居中?)。这在Linux中适用,但在Windows(7)中不适用 你对为什么会发生这种情况有什么建议吗 我可以使用.geometry()方法手动将窗口居中,但是当GUI计算某些值时(比如说一秒钟),会出现一个小窗口,根本没有GUI,即使调用.draw方法,它也会飞到指定的位置 非常感谢Python2.7/Windows7/Tkinter:将临时子窗口置于父窗口之上,python,tkinter,windows-7,Python,Tkinter,Windows 7,正如我从Tkinter参考中了解到的,在其父窗口上绘制一个临时子窗口(居中?)。这在Linux中适用,但在Windows(7)中不适用 你对为什么会发生这种情况有什么建议吗 我可以使用.geometry()方法手动将窗口居中,但是当GUI计算某些值时(比如说一秒钟),会出现一个小窗口,根本没有GUI,即使调用.draw方法,它也会飞到指定的位置 非常感谢 # -*- coding: utf-8 -*- import Tkinter as tk import ttk class Parent(
# -*- 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()
好的,我用下面的方法解决了这个问题:
窗口退出()
- 将
设置为在父窗口上方居中.geometry()
- 进行一些计算以获得所需的UI
.update\u idletasks()
- 最后,
打开窗口.deiconify()
窗口退出()
- 将
设置为在父窗口上方居中.geometry()
- 进行一些计算以获得所需的UI
.update\u idletasks()
- 最后,
打开窗口.deiconify()
- 好的,我用以下方法解决了这个问题: