我有三个窗口:
- 根窗口
- 顶层窗口
- 颜色选择器窗口。
根窗口有一个打开顶层的菜单命令。顶层有一个打开颜色选择器的按钮。
当按下颜色选择器按钮并打开颜色选择器时,会发生一些奇怪的事情。顶层窗口被发送到根窗口后面。
在点击按钮之前windows的分层是这样的:
- 根
- 顶层
点击按钮后windows的分层是这样的:
- 顶层
- 根
- 颜色选择器
为什么会这样?我怎样才能阻止这种情况发生?(我使用的是 Windows 7 和 python 2.7)
这是一个简化的工作代码示例:
from Tkinter import *
import ttk
import tkColorChooser
class Root(Tk):
def __init__(self, *args, **kwargs):
Tk.__init__(self, *args, **kwargs)
self.menu = Menu(self)
self.menu.add_command(label="Open Toplevel", command=self.create_toplevel)
self.config(menu=self.menu)
def create_toplevel(self):
self.new_toplevel = TopLevelWithButton(self)
class TopLevelWithButton(Toplevel):
def __init__(self, *args, **kwargs):
Toplevel.__init__(self, *args, **kwargs)
self.button = ttk.Button(self, text="Color Chooser", command=self.open_chooser)
self.button.grid(row=0, column=0)
def open_chooser(self):
tkColorChooser.askcolor()
root = Root()
root.mainloop()