滚动条Tkin

2024-04-23 08:41:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表框,一个挨着另一个,我希望他们每个都有水平和垂直滚动条。我已经成功地创建了它们,但是当我按下滚动条上的arraws时,什么都没有发生,我看不到整个内容。你知道吗

这是我目前掌握的代码:

from Tkinter import *

root = Tk()

frame4 = Frame(root)
frame4.grid(row=2,columnspan=2,sticky=E+W)
l5 = Label(frame4, text='Output:').grid(row=0,columnspan=2)

frame5 = Frame(frame4)
frame5.grid(row=1,column=0,sticky=E+W)
l6 = Label(frame5, text='Algo1:').pack()
yscroll1 = Scrollbar(frame5, orient=VERTICAL)
xscroll1 = Scrollbar(frame5, orient=HORIZONTAL)

output_algo = Listbox(frame5,height=5, width=40)
output_algo.config (yscrollcommand=xscroll1.set)
output_algo.config (yscrollcommand=yscroll1.set)
yscroll1.config (command=output_algo.yview)
xscroll1.config (command=output_algo.yview)

yscroll1.pack(side=RIGHT, fill=Y,expand=0)
xscroll1.pack(side=BOTTOM, fill=X,expand=0)

output_algo.pack(side=LEFT,fill=BOTH,expand=1)


frame6 = Frame(frame4)
frame6.grid(row=1,column=1,sticky=E+W)
l7 = Label(frame6, text='Algo2:').pack()
yscroll2 = Scrollbar(frame6, orient=VERTICAL)
xscroll2 = Scrollbar(frame6, orient=HORIZONTAL)

output_opt = Listbox(frame6,height=5, width=40)
output_opt.config (yscrollcommand=xscroll2.set)
output_opt.config (yscrollcommand=yscroll2.set)
yscroll2.config (command=output_opt.yview)
xscroll2.config (command=output_opt.yview)

yscroll2.pack(side=RIGHT, fill=Y,expand=0)
xscroll2.pack(side=BOTTOM, fill=X,expand=0)

output_opt.pack(side=LEFT,fill=BOTH,expand=1)

root.mainloop()

如何更改它以使滚动条工作?你知道吗

此外,我还了解到在滚动条的情况下使用grid比使用pack更好。如果要修改代码以使用grid,是否必须创建一个只包含列表框和滚动条的框架?你知道吗


Tags: configoutputfillsidepackgridrowexpand
2条回答

复制和粘贴可能不是您的朋友:

output_algo.config (yscrollcommand=xscroll1.set)

应该是

output_algo.config (xscrollcommand=xscroll1.set)

以及

xscroll1.config (command=output_algo.yview)

应该是

xscroll1.config (command=output_algo.xview)

当然,您还需要对另一个列表框执行相同的操作:)

不能滚动空Listbox。你知道吗

我在列表框中添加了一些元素,可以上下滚动。你知道吗

for item in range(30):
    output_algo.insert(END, str(item)*item)
    output_opt.insert(END, str(item)*item)

root.mainloop()

从左向右滚动有一些问题,但我在xscroll1.config()中看到了错误

相关问题 更多 >