【问题标题】:Tkinter Label won't appear inside Frame [duplicate]Tkinter 标签不会出现在框架内 [重复]
【发布时间】:2020-10-29 12:45:05
【问题描述】:

我有两个框架:big_framesmall_framesmall_framebig_frame 内,我想在 small_frame 内放置一个标签。

标签不会出现在框架内,问题出在第 8 行:移除粘性标签可以让标签出现在框架内。我做错了什么,是否有一种解决方法仍然允许框架在调整窗口大小时调整大小?

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()

【问题讨论】:

  • grid 返回None - 您必须先分配small_frame,然后调用small_frame.grid(...) 作为下一条指令!

标签: python tkinter label frame


【解决方案1】:

初始化后的小修复网格小框架

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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    相关资源
    最近更新 更多