python-3.x 我无法让顶层窗口内的画布通过滚动条滚动

nbewdwxp  于 2023-08-08  发布在  Python
关注(0)|答案(1)|浏览(115)

我在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()

字符串
我一直在倒带,一直不明白为什么我的滚动条不工作,我会感激一个诚实的答案。一切都加载在罚款,我没有得到一个错误之前,运行程序和关闭后。希望这段代码能有所帮助。

3okqufwl

3okqufwl1#

问题是frame_canvasNone,这会导致它及其子项出现在根窗口中。它是None,因为您将其设置为调用pack的结果,而pack始终返回None
您需要创建frame_canvas,然后在单独的行上调用pack

frame_canvas = tk.Frame(canvas)
frame_canvas.pack()

字符串

相关问题