首页 文章

Tkinter菜单和按钮

提问于
浏览
0

我正在尝试制作一个类似于任务栏检查器的Tkinter菜单 . 因此,如果我转到此菜单并选中一个框,则会在我的窗口中显示一个特定按钮,然后用户可以根据需要选择多个按钮 .

该程序只是一组按钮,在我的文本字段中输入文本后,单击按钮,启动Web浏览器,搜索按钮链接到的网站 .

我怎么能像上面提到的那样制作菜单?

编辑:

我刚试过基本的菜单:

buttonmenu = Menu(menubar, tearoff=0)
buttonmenu.add_command(label="button1", command=turnbuttononoff)
buttonmenu.add_command(label="button2", command=turnbuttononoff)
buttonmenu.add_command(label="button3", command=turnbuttononoff)
buttonmenu.add_command(label="button4", command=turnbuttononoff)
buttonmenu.add_command(label="button5", command=turnbuttononoff)

这只是创建一个基本菜单 . 如果我可以有一个触发按钮打开或关闭的功能,那就太好了 .

所以基本上只是一个将按钮从显示切换到不显示的功能

def turnbuttononoff():
     #togglebutton here

解答:我制作了一个存储每个按钮的位置数据的字典,然后检查该按钮是否处于活动状态,如果是,则将其关闭,如果它处于非活动状态,请将其关闭 . 使这个命令成为每个按钮的lambda函数 .

def Toggle_Button(myButton):
if myButton.winfo_ismapped()==1:
    myButton.grid_forget()
else:
    myButton.grid(row=gridData[myButton][0],column=gridData[myButton][1])

1 回答

  • 0
    gridData = {}
    gridData[button] = [row,col]
    
    
    def Toggle_Button(myButton):
        if myButton.winfo_ismapped()==1:
        myButton.grid_forget()
    else:
        myButton.grid(row=gridData[myButton][0],column=gridData[myButton][1])
    

    如果你已经在网格上有按钮,使用button.grid_info找到你需要的东西,它会返回一个字典 .

相关问题