[英]How to create a child window in tkinter using classes?
我正在学习 tkinter 并决定使用类来创建子 windows
class Window:
def __init__(self, title, geometry, icon='default.ico'):
self.root = Tk()
self.title = self.root.title(title)
self.geometry = self.root.geometry(geometry)
self.icon = self.root.iconbitmap(icon)
def run(self):
self.root.mainloop()
def child_window(self, title, geometry, icon='default.ico'):
ChildWindow(self.root, title, geometry, icon)
class ChildWindow(Window):
def __init__(self, parent, title, geometry, icon):
self.child = Toplevel(parent)
Window.__init__(self, title, geometry, icon)
def run(self):
self.child.mainloop()
x = Window('Window', '600x800')
x.child_window('Child window', '200x300')
x.run()
一切正常,但由于某种原因,我一次创建了两个孩子 windows
创建Window
的实例会创建 window。 由于ChildWindow
继承自Window
,因此它还创建了 window。 然后,在ChildWindow.__init__
创建一个Toplevel
,总共为您提供三个 windows。
您的ChildWindow
可能不应该从Window
继承,因为它的每个实例或任何子类都将创建一个新的根 window。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.