如何在列表框下打包水平滚动条(python 和 tkinter)?
How to pack a horizontal scrollbar under the listbox (python and tkinter)?
我正在编写一个需要将输出放入列表框的程序,它有时会超过列表框的 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!
我正在编写一个需要将输出放入列表框的程序,它有时会超过列表框的 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!