2017-03-02 63 views
0

这是我的Tkinter代码。我打算显示水平和垂直滚动条。Tkinter程序:不显示底部滚动条

from Tkinter import * 

root = Tk() 
scrollbar = Scrollbar(root) 
scrollbar.pack(side = RIGHT,fill = Y) 

scrollbar_x = Scrollbar(root) 
scrollbar_x.pack(side = BOTTOM,fill = X) 

mylist = Listbox(root,xscrollcommand = scrollbar_x.set,yscrollcommand = scrollbar.set) 
""" 
To connect a scrollbar to another widget w, set w's xscrollcommand or yscrollcommand to the scrollbar's set() method. The arguments have the same meaning as the values returned by the get() method. 
""" 
for line in range(100): 
    mylist.insert(END,("this is line number"+str(line))*100) 

mylist.pack(side = LEFT,fill=BOTH) 

scrollbar.config(command = mylist.yview) 
scrollbar_x.config(command = mylist.xview) 

print root.pack_slaves() 
mainloop() 

而且这与我在我的电脑中预测的不匹配,即Mac Sierra。 此外,scrollbar.config(command = mylist.yview)是什么意思?

config() 

有关该功能的更多细节会有所帮助〜感谢

+0

有趣的 - 首先你说 - 这是你的代码;那么你会问你的代码中的命令是什么意思。尝试去通过tkinter教程 - 你会明白这个命令的含义 – Drako

回答

1

Tkinter的程序:不显示我的底部滚动条

我不能重复,当我运行码。当我运行你的代码时,我在屏幕底部看到一个巨大的滚动条。

我认为你希望“x”滚动条是水平的而不是垂直的。如果这是真的,你必须告诉Tkinter的,通过使用orient选项:

scrollbar_x = Scrollbar(root, orient="horizontal") 

此外,有什么scrollbar.config(命令= mylist.yview)意味着什么?

滚动条需要双向通信。列表框需要配置为知道哪个滚动条在滚动时更新,并且滚动条需要进行配置,以便知道在移动时要修改哪个小部件。

当你做scrollbar.config(command=mylist.yview)你要告诉滚动条每当用户试图调整滚动条时调用函数mylist.yview.yview方法是Listbox小部件(以及其他一些小程序)上记录的方法。如果您未设置滚动条的command属性,则与滚动条交互将不起作用。