Python tkinter 菜单+变量

标签 python user-interface tkinter

我有一个包含多个项目的菜单,菜单上的每个项目都使用相同的 GUI 来实现功能。每个所需的功能或菜单项只是在后台发生不同的事情。我知道可以制作我的 GUI 代码的多个副本,将其分配给单独的 def,然后为菜单项提供特定的命令行。

但是有没有一种更简单的方法可以让我在给定的 def 中一次指定我的 gui 代码,并让 Tkinter/python 运行该 def 来识别选择了哪个选项?

例如:

filemenu.add_command(label="Item-a", command=gui)
filemenu.add_command(label="Item-b", command=gui)
filemenu.add_command(label="Item-c", command=gui)

哪个可以启动def gui,在绘制界面之前可以告诉项目a、b或c被选择?

希望这是有道理的。

有什么想法吗?

谢谢

最佳答案

如果我正确理解你的问题,你可以这样做:

def gui(item):
    if item == 'a':
       pass # do something with a
    elif item == 'b':
       pass # do something with b

现在在您的文件菜单中:

filemenu.add_command(label='Item-a', command=lambda : gui('a'))
filemenu.add_command(label='Item-b', command=lambda : gui('b'))

等等。

关于Python tkinter 菜单+变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11565630/

相关文章:

python - Keras function api,手动设置权重到层

user-interface - 设计规则系统的好引用/技巧?

.net - Windows 桌面应用程序的现代 UI 的正确方法是什么?

python - 验证 Tkinter.Text 小部件?

python - 如何更改 Tkinter OptionMenu 小部件的菜单背景颜色?

Python 和 Yahoo 财务怪异 "YQLQueryError(response[' 错误'] ['description' ])"get_historical

python - 如何使打印不可见(网页创建)?

java - 为什么我的 Swing 窗口会在几秒钟后自行关闭?

python - 如何扩展ttk笔记本标签或标签按钮以填充窗口

python - 制作一个 "Any Key"可中断的 Python 定时器