我正在编写一个程序,需要将输出放入列表框中,有时会超出列表框的 x 大小。我添加了一个水平滚动条,它可以毫无问题地水平滚动,但不会打包在列表框下,而是打包在它旁边。
有办法解决这个问题吗?我可能可以使用 .grid() 解决它,但由于其他一些问题,我需要使用 .pack() 保留它。
from tkinter import *
master = Tk()
scrollbary = Scrollbar(master)
scrollbarx = Scrollbar(master, orient=HORIZONTAL)
listbox = Listbox(master, yscrollcommand=scrollbary.set, xscrollcommand=scrollbarx.set)
for i in range(1, 100):
listbox.insert(END, "NUMBEEEEEEEEEEEEEEEEEEEEEEEEEEEEER:")
listbox.insert(END, str(i))
scrollbary.config(command=listbox.yview)
scrollbarx.config(command=listbox.xview)
listbox.pack(side=LEFT, fill=BOTH)
scrollbary.pack(side=RIGHT, fill=Y)
scrollbarx.pack(side=BOTTOM, fill=X)
mainloop()
我尝试过一些谷歌搜索,但没有找到任何有用的东西,或者以我对 python 和 tkinter 的有限知识无法理解......感谢您的帮助!
最佳答案
问题出在包装订单上。我尝试将其重新排序为:
- scrollbar_x
- 列表框
- scrollbar_y
现在可以了。感谢您抽出时间@stovfl!
关于python - 如何在列表框下打包水平滚动条(python 和 tkinter)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54386413/