我正在研究一个Gui,我想知道如何创建一个实现框架的类。
e.g。
class WindowContent(Tkinter.?)
""" This class would create a frame for my program window """
class App(Tkinter.Tk):
""" main window constructor """
def __init__(self):
Tkinter.Tk.__init__(self)
program_window = WindowContent ?
self.config(window = window_content) ?
RGDS,
答案 0 :(得分:2)
我找到了答案:
class WindowProgram(Tkinter.Frame)
""" This class creates a frame for my program window """
def __init__(self, parent):
Tkinter.Frame.__init__(self, parent)
class App(Tkinter.Tk):
""" application constructor """
def __init__(self):
Tkinter.Tk.__init__(self)
self.window_program = Window_Program(self)
答案 1 :(得分:0)
为什么你想要一个创建几个帧的类?创建一个创建多个帧的类不是一个很好的解决方案。你不需要一个单独的类。
为每个框架创建单独的类,或者只在应用程序中创建方法以创建每个框架。我更喜欢后者,但是如果你想要一个可以在多个上下文中使用的框架,那么创建一个类有时是有意义的。
当我执行GUI时,我构建了这样的代码:
class App(Tkinter.Tk):
def __init__(self):
Tkinter.Tk__init__(self)
self.menubar = self.makeMenubar(...)
self.frame1 = self.makeFrame1(...)
self.frame2 = self.makeFrame2(...)
self.configure(menu=self.menubar)
self.frame1.grid(...)
self.frame2.grid(...)
通过这种方式,每个主要部分都有自己的方法来隐藏窗口小部件创建的细节。当然,您可以将每个框架都设置为自定义对象,但通常这是不必要的。