Python Tkinter滚动条不起作用

纳斯

我一直在试图把滚动条里面Canvas有一个LabelFrame,只是一些Button在它里面,但我不能似乎使滚动条作品。

有可能不使用类,因为我还是编程新手。

这里的代码:

def all_alb():
    global allAlbum
    global all_albwin
    global lg

    all_albwin = Toplevel()
    all_albwin.state('zoomed')
    ctr = 0
    alb_row = 0
    alb_cover = PhotoImage(file="img/placeholder.gif")

    scrollbar = Scrollbar(all_albwin)
    scrollbar.pack(side=RIGHT, fill=Y)

    container = Canvas(all_albwin, yscrollcommand=scrollbar.set, scrollregion=(0,0,1000,1000))

    # I do nothing scrollbar-related here

    if lg == 1:
        btnAdd = Button(container, text="Add New Album", command=add_alb)
        btnAdd.grid(row=0)

    btnMain = Button(container, text="Back to Main Menu", command=all_albwin.destroy)
    btnMain.grid(row=1)

    all_frame = LabelFrame(container, text="All Album", padx=10, pady=10)
    all_frame.grid(padx=15, pady=15, row=2)

    file = open("album/allAlbum.txt", "r")
    total = file.readline()
    file.close()

    if int(total) == 0:
        status = Label(all_frame, text="No album found.")
        status.grid(row=0)

    else:
        while ctr < int(total):
            file = open("album/alb_info/" + allAlbum[ctr].replace("\n", "") + ".txt", "r")
            coverDir = file.readline().replace("\n", "")
            coverImg = PhotoImage(file=coverDir)

            cover = Button(all_frame, image=coverImg, bd=0, command=lambda ctr=ctr: alb_info(ctr, "all_alb"))
            cover.image = coverImg
            cover.grid(row=alb_row, column=0, pady=20)

            alb_name = Button(all_frame, text=allAlbum[ctr].replace("\n", ""), font = "Helvetica 16 bold", command=lambda ctr=ctr: alb_info(ctr, "all_alb"), bd=0)
            alb_name.grid(row=alb_row, column=1, sticky=NW, padx=20, pady=20)

            ctr = ctr + 1
            alb_row = alb_row + 1

    # Scrollbar stuff under here
    container.pack(expand=True)
    scrollbar.config(command=container.yview)
布莱恩·奥克利(Bryan Oakley)

您无法使用滚动滚动添加到画布的对象grid您必须用于create_window将labelframe放置在画布内。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章