如何在列表框(python和tkinter)下打包水平滚动条?

时间:2019-01-27 08:38:18

标签: python python-3.x tkinter scrollbar horizontal-scrolling

我正在编写一个程序,要求将输出放入列表框,有时它超出列表框的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的有限了解而无法理解...谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

问题是装箱单。我尝试将其重新排序为:

  1. scrollbar_x
  2. 列表框
  3. scrollbar_y

,现在可以使用了。感谢您的宝贵时间@stovfl!