使用Frame()类创建框架

时间:2016-01-12 19:59:30

标签: python python-3.x tkinter frames

我对tkinter很新,我想知道如何创建框架。 如果一个人比另一个更优先,为什么会这样呢?

这样更好:

import tkinter as tk


class MainApplication(tk.Frame):

    def __init__(self, parent):

        main_frame = tk.Frame(parent)


root = tk.Tk()
main_app = MainApplication(root)
root.mainloop()

或者像这样:

import tkinter as tk


class MainApplication(tk.Frame):

    def __init__(self, parent):

        tk.Frame.__init__(self, parent)


root = tk.Tk()
main_app = MainApplication(root)
root.mainloop()

1 个答案:

答案 0 :(得分:0)

第一个创建两个框架 - 实例本身(main_app)是一个框架,它包含一个子框架(main_frame)。但是,由于您没有拨打__init__的{​​{1}},因此第一帧未正确构建。

如果您要立即创建一个内部框架并将所有内容放入其中,那么继承Frame毫无意义。

顺便说一下,你的代码并不是很有效。如果您想要实际查看应用程序窗口小部件(及其子窗口),那么您需要在窗口小部件上调用Framepackplace

例如:

grid