繁体   English   中英

Tkinter:尝试创建按钮网格,然后将每个按钮添加到字典中

[英]Tkinter: Trying to Create a Grid of Buttons then add each one to a Dictionary

我正在尝试在顶层窗口中的Tkinter中创建一个8x8的按钮网格。 如果可能的话,我也想将每个按钮添加到字典中。 但是,当我尝试执行此操作时,窗口(在尝试添加按钮之前为openein)将永远不会打开,并且Python Launcher会停止响应。 (对任何做得不好/效率低的事情表示抱歉,这是我自己尝试进行编码的第一件事)

def new_game(x,y, difficulty):
    global dimension
    dimension = "%sx%s" %(x,y)
    game=Toplevel(TS)
    game.title("MineSweeper")
    game.geometry(dimension)
    game.title(difficulty)
    game.configure(background="Gray")
    my_frame = Frame(game)
    my_frame.grid(row=0,column=0)
    title= Label(game, text="Minesweeper",bg="Gray",fg="red", font=("Helvetica",18, "bold"))
    title.pack()

    x=0
    y=0
    #Creating Easy Game Buttons
    easy_buttons=dict({})
    if difficulty == "Easy":
        for num in range (64):
            easy_buttons[num]=[Button(game,text="temp").grid(row=x,column=y)]
            y+=1
            if y==8:
                y=0
                x+=1

根据effbot

警告:切勿在同一主窗口中混合网格和打包。 Tkinter会很乐意度过余生,以期寻求双方经理都满意的解决方案。 不用等待,而杀死应用程序,然后再看一遍您的代码。 一个常见的错误是对某些小部件使用错误的父级。

我建议您稍微改变一下布局。 您可以创建2行x 1列的网格。 第一行是title ,第二行是Frame 然后,您可以将8x8的按钮网格放在Frame


你也在不经意间走进另一tkinter地雷-在.grid方法总是返回None ,所以你的字典将只是抱着一堆[None]值,并没有任何按键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM