Tkinter菜单和按钮

时间:2013-07-16 23:00:56

标签: python button menu tkinter

我正在尝试创建一个类似于任务栏检查器的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 :(得分: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查找所需内容,然后返回字典。