我有一段运行在python3.4上的tkinter代码,它是一个放在画布上的带有垂直滚动条的大框架,但是滚动条是灰色的,似乎没有与框架的大小相关联。我使用的代码基本上是:class EntryWindow:
def __init__(self, master):
self.master = master
self.master.minsize(750, 800)
self.master.maxsize(1000, 800)
self.canvas = tk.Canvas(self.master, borderwidth=0, bg='#ffffff')
self.vsb = tk.Scrollbar(self.master)
self.master_frame = tk.Frame(self.canvas)
self.vsb.pack(side="right", fill='y')
self.canvas.pack(side='left', fill='both', expand=True)
self.canvas.create_window((0,0), window=self.master_frame, anchor='nw', tags='self.master_frame')
self.canvas.config(yscrollcommand=self.vsb.set)
self.master_frame.grid()
###build widgets and place into master_frame
...
master_frame中填充了36个使用gridgeometry管理器放置的小部件,其垂直高度约为2000像素,但滚动条不起作用。在
我看到一篇关于使用ttk滚动条的帖子,但是当我导入它时,我无法让它工作。我使用的输入语句是:
^{pr2}$
然后将self.vsb = tk.Scrollbar(self.master)替换为self.vsb = ttk.Scrollbar(self.master),但这也没有修复它。我还试着删除master上的最小/最大大小(这些不是最终值,我一直在玩它)。在
我做错什么了吗?我觉得我应该排在队伍里画布.config()但我看了文件,似乎是对的。明天,我计划在我制作完框架之后,尝试将框架加载到画布中。在
但同时,如果不起作用,任何帮助都太好了!谢谢!在