Tkinter 标签不会出现在框架内
Tkinter Label won't appear inside Frame
我有两个框架:big_frame
和 small_frame
。 small_frame
在 big_frame
里面,我想在 small_frame
里面放一个标签。
标签不会出现在框架内,问题出在第 8 行:移除粘性标签会出现在框架内。我做错了什么吗,是否有一种变通方法仍然允许框架随着 window 调整大小时调整大小?
from tkinter import *
root = Tk()
root.geometry('700x500')
# Big Frame
big_frame = LabelFrame(root, text='Big Frame', width=350, height=450, padx=5, pady=5)
big_frame.grid(row=0, column=0, padx=(1, 0), sticky='nsew') # the sticky prevents the label from being inside the frame
root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)
# Small Frame
small_frame = LabelFrame(big_frame, text='Small Frame', width=120, height=200).grid(row=0, column=0)
label = Label(small_frame, text='Label')
label.grid(row=0, column=0)
mainloop()
初始化后网格化smallframe的一个小修复
from tkinter import *
root = Tk()
root.geometry('700x500')
# Big Frame
big_frame = LabelFrame(root, text='Big Frame', width=350, height=450, padx=5, pady=5)
big_frame.grid(row=0, column=0, padx=(1, 0), sticky='nsew') # the sticky prevents the label from being inside the frame
root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)
# Small Frame
small_frame = LabelFrame(big_frame, text='Small Frame', width=120, height=200)
small_frame.grid(row=0, column=0)
label = Label(small_frame, text='Label')
label.grid(row=0, sticky='nw')
mainloop()
我有两个框架:big_frame
和 small_frame
。 small_frame
在 big_frame
里面,我想在 small_frame
里面放一个标签。
标签不会出现在框架内,问题出在第 8 行:移除粘性标签会出现在框架内。我做错了什么吗,是否有一种变通方法仍然允许框架随着 window 调整大小时调整大小?
from tkinter import *
root = Tk()
root.geometry('700x500')
# Big Frame
big_frame = LabelFrame(root, text='Big Frame', width=350, height=450, padx=5, pady=5)
big_frame.grid(row=0, column=0, padx=(1, 0), sticky='nsew') # the sticky prevents the label from being inside the frame
root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)
# Small Frame
small_frame = LabelFrame(big_frame, text='Small Frame', width=120, height=200).grid(row=0, column=0)
label = Label(small_frame, text='Label')
label.grid(row=0, column=0)
mainloop()
初始化后网格化smallframe的一个小修复
from tkinter import *
root = Tk()
root.geometry('700x500')
# Big Frame
big_frame = LabelFrame(root, text='Big Frame', width=350, height=450, padx=5, pady=5)
big_frame.grid(row=0, column=0, padx=(1, 0), sticky='nsew') # the sticky prevents the label from being inside the frame
root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)
# Small Frame
small_frame = LabelFrame(big_frame, text='Small Frame', width=120, height=200)
small_frame.grid(row=0, column=0)
label = Label(small_frame, text='Label')
label.grid(row=0, sticky='nw')
mainloop()