我在youtube上看了一个关于如何用python做滚动条的教程,它对人有用,但对我没用。在复制了他所做的并运行后,我的屏幕上出现了一个滚动条,但它似乎什么也没做。现在我已经跳到另一个教程,那里的人做的不同,现在我被困在无人区,我很快失去了希望。下面是一段代码:
# Content
# scrollbar
canvas = tk.Canvas(window_automation_creator, scrollregion=(0,0,2000,5000))
canvas.pack(expand=True, fill='both')
scrollbar = tk.Scrollbar(window_automation_creator, orient='vertical', command=canvas.yview)
canvas.configure(yscrollcommand=scrollbar.set)
scrollbar.place(relx=1,rely=0,relheight=1,anchor='ne')
frame_canvas = tk.Frame(canvas).pack()
canvas.create_window((0,0), window=frame_canvas, anchor='nw')
# 'add' button
button_add = tk.Button(frame_canvas, text='ADD', width=10, height=2).pack()
# test
for i in range(100):
i = tk.Button(frame_canvas, text=i).pack()
字符串
我一直在倒带,一直不明白为什么我的滚动条不工作,我会感激一个诚实的答案。一切都加载在罚款,我没有得到一个错误之前,运行程序和关闭后。希望这段代码能有所帮助。
1条答案
按热度按时间3okqufwl1#
问题是
frame_canvas
是None
,这会导致它及其子项出现在根窗口中。它是None
,因为您将其设置为调用pack
的结果,而pack
始终返回None
。您需要创建
frame_canvas
,然后在单独的行上调用pack
。字符串