Tkinter Frame-添加标签时如何解决分辨率问题
Tkinter Frame-How to fix Resulation Problem while adding Label
我是 Python 的新手。我正在学习使用 tkinter pkg 在 python 中创建选项卡。我已成功创建 2 个选项卡,但无法在两个选项卡中显示文本(标签)。当我在一个选项卡 (heading.pack()
) 中仅显示 1 个文本时,它运行良好。但是当我在选项卡 2 (heading2.pack()
) 中显示另一个文本时,框架 Resulation Broked。我还在 Frame
选项中设置了宽度和高度。我想修复resulation(在添加第二个文本resulation之前)。这是之前和之后的截图
Before adding 2nd Text
After adding 2nd Text
这是代码:
from tkinter import *
from tkinter import ttk
root=Tk()
root.title('Tab Widget')
root.geometry('600x400')
book=ttk.Notebook(root)
book.pack(pady=2)
tab1=Frame(book,width=600,height=500,bg='white')
tab2=Frame(book,width=600,height=500,bg='white')
tab1.pack(fill='both',expand=1)
tab2.pack(fill='both',expand=1)
book.add(tab1,text='Tab 1')
book.add(tab2,text='Tab 2')
heading=Label(tab1,text='This is Tab 1',font='arial 20 bold',bg='white')
heading2=Label(tab2,text='This is Tab 2',font='arial 20 bold',bg='white')
heading.pack() #Show Text in Tab 1
heading2.pack() #Show Text in Tab 2
root.mainloop()
当你调用heading.pack()
时,tab1
会缩小到标签的大小。如果您不调用 heading2.pack()
,tab2
的大小仍为 600x500。因此笔记本客户区将保持在 600x500。
然而,当您调用 heading2.pack()
时,tab2
也会缩小到标签的大小,这会导致笔记本客户区也缩小。
您可以通过更改来避免上述尺寸调整:
book.pack(pady=2)
到
book.pack(pady=2, fill='both', expand=1)
以便该笔记本将使用根 window 的所有可用 space。
另请注意,以下两行不是必需的,可以删除:
tab1.pack(fill='both',expand=1)
tab2.pack(fill='both',expand=1)
我是 Python 的新手。我正在学习使用 tkinter pkg 在 python 中创建选项卡。我已成功创建 2 个选项卡,但无法在两个选项卡中显示文本(标签)。当我在一个选项卡 (heading.pack()
) 中仅显示 1 个文本时,它运行良好。但是当我在选项卡 2 (heading2.pack()
) 中显示另一个文本时,框架 Resulation Broked。我还在 Frame
选项中设置了宽度和高度。我想修复resulation(在添加第二个文本resulation之前)。这是之前和之后的截图
Before adding 2nd Text
After adding 2nd Text
这是代码:
from tkinter import *
from tkinter import ttk
root=Tk()
root.title('Tab Widget')
root.geometry('600x400')
book=ttk.Notebook(root)
book.pack(pady=2)
tab1=Frame(book,width=600,height=500,bg='white')
tab2=Frame(book,width=600,height=500,bg='white')
tab1.pack(fill='both',expand=1)
tab2.pack(fill='both',expand=1)
book.add(tab1,text='Tab 1')
book.add(tab2,text='Tab 2')
heading=Label(tab1,text='This is Tab 1',font='arial 20 bold',bg='white')
heading2=Label(tab2,text='This is Tab 2',font='arial 20 bold',bg='white')
heading.pack() #Show Text in Tab 1
heading2.pack() #Show Text in Tab 2
root.mainloop()
当你调用heading.pack()
时,tab1
会缩小到标签的大小。如果您不调用 heading2.pack()
,tab2
的大小仍为 600x500。因此笔记本客户区将保持在 600x500。
然而,当您调用 heading2.pack()
时,tab2
也会缩小到标签的大小,这会导致笔记本客户区也缩小。
您可以通过更改来避免上述尺寸调整:
book.pack(pady=2)
到
book.pack(pady=2, fill='both', expand=1)
以便该笔记本将使用根 window 的所有可用 space。
另请注意,以下两行不是必需的,可以删除:
tab1.pack(fill='both',expand=1)
tab2.pack(fill='both',expand=1)