【发布时间】:2020-05-22 01:27:06
【问题描述】:
每次我添加一个新标签时,我的标签、输入字段等...都会被推到右侧See exmaple here。我为选项卡以及标签和输入字段尝试了不同的行和列位置,但没有成功。我找不到使用 grid() 而不是 pack() 的解决方案。
import tkinter as tk
from tkinter import ttk
class Main:
def __init__(self):
self.root = tk.Tk()
self.root.title(" EXAMPLE ")
self.root.geometry("220x290-1200-400")
self.tabControl = ttk.Notebook(self.root)
self.tab1 = ttk.Frame(self.tabControl)
self.tabControl.add(self.tab1, text=" Tab 1 ")
self.tab2 = ttk.Frame(self.tabControl)
self.tabControl.add(self.tab2, text=" Tab 2 ")
self.tab3 = ttk.Frame(self.tabControl)
self.tabControl.add(self.tab3, text=" Tab 3 ")
self.tab4 = ttk.Frame(self.tabControl)
self.tabControl.add(self.tab4, text=" Tab 4 ")
self.tabControl.grid()
self.label = tk.Label(self.root, text = "blah blah")
self.label.grid(row=1, column=0, sticky="E")
self.text = tk.Entry(self.root)
self.text.grid(row=1, column=1, sticky="W")
self.root.mainloop()
Main()
【问题讨论】:
-
因为你把
self.tabControl放到了第0行第0列,所以当self.tabControl展开时,第1列的所有内容都会被推到右边。使用columnspan选项,例如self.tabControl.grid(columnspan=2)。调整数字以适合您的情况。
标签: python tkinter tabs move shift