我有两个并排的列表框,我希望每个都有一个滚动条。我遇到的问题是,当列表框为空时,它们没有出现,我只能看到滚动条。
以下代码仅适用于一个列表框。当我注释掉self.scrollbar.config和self.scrollbar.grid时,我看到了我的20x10列表框。当这些回到代码中时,如下所示,我只看到滚动条。我需要列表框保持固定大小,并根据我的其余代码填写..截图:http://i.imgur.com/jQWg4d2.jpg
class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.grid(sticky=N+S+E+W)
self.mainframe()
def mainframe(self):
self.lb = Listbox(self, width=20, height=10, bg='yellow', fg='blue')
self.scrollbar = Scrollbar(self.lb, orient=VERTICAL)
self.lb.config(yscrollcommand=self.scrollbar.set)
self.scrollbar.config(command=self.lb.yview)
self.lb.grid(row=0, column=0)
self.scrollbar.grid(column=2)
答案 0 :(得分:3)
问题是你将滚动条存放在列表框中,当它应该在框架内部时。
self.scrollbar = Scrollbar(self, orient=VERTICAL)
您还应该更改网格的方式,将其放在第1列(列表框旁边的列)并将其粘贴到北部和南部:
self.scrollbar.grid(row=0, column=1, sticky=NS)
作为最后一点,你帖子中的缩进是关闭的,但我认为你的代码中的缩进(在课堂下的所有内容)都会缩进。