python - tkinter 在标签框架中添加小部件打破标签框架大小

标签 python python-3.x tkinter

我有一个 tkinter 标签框架,我已经设置了宽度和高度。但是,当我尝试添加标签时,如果打破这些尺寸

代码:

    # ------------------------------
    # Players Tab
    # ------------------------------
    playerListBox = Listbox(players, width=30, height=26)
    playerListBox.grid(row=0,rowspan=2,column=0,padx=4,pady=10)

    # Player Details Frame
    playerDetailsLabelFrame = LabelFrame(players, text="Player Details", width=500, height=195)
    playerDetailsLabelFrame.grid(row=0, column=1, sticky='NW', padx=5, pady=5, ipadx=5, ipady=5)

    playerFirstNameLabel = Label(playerDetailsLabelFrame, text="FirstName:", font='Helvetica 8 bold')
    playerFirstNameLabel.grid(row=0, column=1, sticky='NW', padx=1, pady=1)
    playerFirstNameData = Label(playerDetailsLabelFrame, text="Alex", font='Helvetica 8')
    playerFirstNameData.grid(row=0, column=2, padx=1, pady=1)


    playerFirstNameLabel = Label(playerDetailsLabelFrame, text="Lastname:", font='Helvetica 8 bold')
    playerFirstNameLabel.grid(row=1, column=1, sticky='NW', padx=1, pady=1)
    playerFirstNameData = Label(playerDetailsLabelFrame, text="Abrines", font='Helvetica 8')
    playerFirstNameData.grid(row=1, column=2, padx=1, pady=1)

设计:

enter image description here

最佳答案

当对添加到框架的任何小部件使用 pack()grid() 时,您需要明确告诉框架不要调整大小。即使您特别指定了宽度和/或高度,这仍然是正确的。这是因为除非另有说明,否则框架将在添加小部件后调整大小。

对于 grid() 使用:

frame.grid_propagate(0)

对于 pack() 使用:

frame.pack_propagate(0)

关于python - tkinter 在标签框架中添加小部件打破标签框架大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59758741/

相关文章:

python-3.x - 使用 Tkinter 和 cx_Freeze 隐藏控制台窗口

Python 直方图 : Manually normalising counts and re-plotting as histogram

python - PyBrain 中的网络大小限制是多少?

python - 在python 3中使用numpy将wav文件混合在一起

python - Tkinter:图像循环速度变慢

Python Tkinter 图形用户界面 :add text from an entry widget in a pop up window to a listbox in a different window?

python - Meld 无法在 Ubuntu 中启动

python - Django 使用 locals()

python - 枚举列表中的项目,以便用户可以选择数值

python - 如何将 python 字典的键显示为 HTML 表头,并将每个键的值显示为该表头下的一行?