Tkinter Listbox&滚动条问题 - 调整大小

时间:2014-02-14 14:36:49

标签: python listbox tkinter scrollbar

我有两个并排的列表框,我希望每个都有一个滚动条。我遇到的问题是,当列表框为空时,它们没有出现,我只能看到滚动条。

以下代码仅适用于一个列表框。当我注释掉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)

1 个答案:

答案 0 :(得分:3)

问题是你将滚动条存放在列表框中,当它应该在框架内部时。

self.scrollbar = Scrollbar(self, orient=VERTICAL)

您还应该更改网格的方式,将其放在第1列(列表框旁边的列)并将其粘贴到北部和南部:

self.scrollbar.grid(row=0, column=1, sticky=NS)

作为最后一点,你帖子中的缩进是关闭的,但我认为你的代码中的缩进(在课堂下的所有内容)都会缩进。