Python Tkinter小部件放置不正确
我想创建一个框架与Python Tkinter小部件放置不正确,python,tkinter,Python,Tkinter,我想创建一个框架与 组合框 然后是两个标签 然后是另一个组合框 相反,我得到了一个框架与 两个组合框 然后是两个标签 Tkinter小部件似乎按小部件类型分组。请告知如何正确放置小部件。谢谢 我在Win7 64位和Tcl/Tk版本8.6上使用Python3.4 import tkinter as tk from tkinter import ttk class App(tk.Frame): def __init__(self,master=None): supe
- 组合框
- 然后是两个标签
- 然后是另一个组合框
- 两个组合框
- 然后是两个标签
import tkinter as tk
from tkinter import ttk
class App(tk.Frame):
def __init__(self,master=None):
super().__init__(master)
self.grid()
self.combo1=ttk.Combobox(self)
self.combo1["values"]=["1","2"]
self.combo1.grid(row=1)
self.lbl1=ttk.Label(text="AAA")
self.lbl1.grid(row=2)
self.lbl3=ttk.Label(text="BBB")
self.lbl3.grid(row=3)
self.combo2=ttk.Combobox(self)
self.combo2["values"]=["3","4"]
self.combo2.grid(row=4)
root=tk.Tk()
x=App()
发生这种情况是因为您没有将
标签的父项设置为self
(框架),请尝试将标签更改为:
self.lbl1=ttk.Label(self, text="AAA")
...
self.lbl3=ttk.Label(self, text="BBB")
以前,他们使用了默认的父项,即根
,因此它们出现在您的框架下方。发生这种情况是因为您没有将标签的父项设置为自我
(框架),请尝试将标签更改为:
self.lbl1=ttk.Label(self, text="AAA")
...
self.lbl3=ttk.Label(self, text="BBB")
以前他们使用了默认的父对象,即root
,因此它们出现在您的框架下面