tkinter中的Frame对象未在python中对小部件进行分组
我是python新手,刚刚开始使用“tkinter”模块。我试图使用一个从“Frame”对象继承的自定义类将不同的小部件组合到一个全新的小部件中,并希望垂直堆叠4个这样的新小部件 每个新小部件包含1个“标签”、3个“条目”小部件和2个“按钮”小部件(按钮小部件在4个新小部件中的每一个中都有不同的用途) 为了垂直排列它们,我使用了没有参数的“pack()”方法。问题在于,不是以垂直方式显示,而是将所有6个旧部件以“分组”方式放置在新部件中,而是将所有按钮“混合”在一起,以“倾斜”方式显示(首先显示包值为“左”的所有小部件,然后显示包值为“右”的小部件) 这是我的类“OperationPanel”的一部分(实际类太大,无法显示,但存在其他操作,如减法等,并且按钮链接到的所有函数也存在): 下面是我对OperationPanel对象的调用:tkinter中的Frame对象未在python中对小部件进行分组,python,user-interface,tkinter,widget,Python,User Interface,Tkinter,Widget,我是python新手,刚刚开始使用“tkinter”模块。我试图使用一个从“Frame”对象继承的自定义类将不同的小部件组合到一个全新的小部件中,并希望垂直堆叠4个这样的新小部件 每个新小部件包含1个“标签”、3个“条目”小部件和2个“按钮”小部件(按钮小部件在4个新小部件中的每一个中都有不同的用途) 为了垂直排列它们,我使用了没有参数的“pack()”方法。问题在于,不是以垂直方式显示,而是将所有6个旧部件以“分组”方式放置在新部件中,而是将所有按钮“混合”在一起,以“倾斜”方式显示(首先显示
OperationPanel(app, "addition").pack()
OperationPanel(app, "subtraction").pack()
OperationPanel(app, "multiplication").pack()
OperationPanel(app, "division").pack()
下面是GUI现在的外观:
第1部分:
第2部分:
在此方面如有任何帮助,我们将不胜感激。提前感谢!看起来您正在使用
app
的父项创建所有小部件。它们应该是self
:
if operation == "addition":
Label(app, text="Addition:").pack()
self.num1 = Entry(self)
...
if operation == "addition":
Label(app, text="Addition:").pack()
self.num1 = Entry(self)
...