Tkinter中的Listbox无法自动调整大小

0 投票
1 回答
695 浏览
提问于 2025-04-18 16:57

我用Python(2.7)写了一个Tkinter应用程序,发现当我在垂直方向上拖动窗口来增加高度时,列表框并没有跟着变大。

下面是我的代码:

from Tkinter import *

def main():
    root = Tk()
    mainframe = Frame(root)
    mainframe.pack(expand=YES, fill=BOTH)

    status = Entry(mainframe)
    status.pack(side=BOTTOM, expand=YES, fill=X)

    list = Listbox(mainframe)
    list.pack(side=LEFT, expand=YES, fill=BOTH)
    root.mainloop()

main()

那么问题出在哪里呢?有没有什么办法可以让列表框在垂直方向上调整大小呢?

1 个回答

1

你正在为输入框(Entry)扩大空间,但你只填充到X的宽度。

如果你想保持输入框的大小不变,只扩大列表框(Listbox),可以使用:status.pack(side=BOTTOM, expand=NO, fill=X)

如果你想同时扩大列表框和输入框,可以使用:status.pack(side=BOTTOM, expand=YES, fill=BOTH)

撰写回答