这些方法之间有什么区别?

2024-04-30 02:52:08 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我的英语不是最好的,所以请原谅我写得不好。 我不熟悉用tkinter编写oop,我查了3种方法来初始化主程序。我的问题是,这两者之间有什么区别,有什么好处,或者这只是个人偏好

第一种方法是在if块中创建帧

from tkinter import *
from tkinter import ttk

class ConverterFrame(Frame):
    def __init__(self, container):
        super().__init__(container)
        self.grid()
        # Create Frame

class App(Tk):
    def __init__(self):
        super().__init__()
        #Set options for main window

if __name__ == "__main__":
    app = App()
    ConverterFrame(app)
    app.mainloop()

第二个方法在def块中的App类内部创建帧

from tkinter import *
from tkinter import ttk

class ConverterFrame(Frame):
    def __init__(self, container):
        super().__init__(container)
        # Create Frame

class App(Tk):
    def __init__(self):
        super().__init__()
        self.createwidgets()

    def createwidgets(self):
        frame1 = ConverterFrame
        frame1.grid()

if __name__ == "__main__":
    app = App()
    app.mainloop()

还有这个

from tkinter import *
from tkinter import ttk

def main():
    program = CounterProgram()
    program.mainloop()

class CounterProgram:

    def __init__(self):
        #Programm

if __name__ == "__main__":
    main()

我希望我的意思可以理解


Tags: fromimportselfappifinitmaintkinter