擅长:python、mysql、java
<p>基于选项菜单选择运行命令的一种方法是使用函数字典:<code>func_dict = {option: function, ...}</code>,然后将以下函数传递给<code>OptionMenu</code>的<code>command</code>选项:</p>
<pre><code>def func(value):
func_dict[value]()
</code></pre>
<p>执行与所选选项对应的函数。你知道吗</p>
<p>举个例子:</p>
<pre><code>from tkinter import *
options = ['xyz', 'xyz17', 'abc27', 'qwe90', 'uio', 'uio19', 'jkl09', 'zxc28']
func_dict = {option: lambda opt=option: print(opt) for option in options}
class Menu(OptionMenu):
def __init__(self, master, status, *options):
self.var = StringVar(master)
self.var.set(status)
OptionMenu.__init__(self, master, self.var, *options, command=self.func)
def func(self, option):
func_dict[option]()
def main():
topFrame = Frame(root)
topFrame.pack()
menu1 = Menu(topFrame, 'xyz', 'xyz17','abc27','qwe90')
menu2 = Menu(topFrame, 'uio', 'uio19','jkl09','zxc28')
menu1.pack()
menu2.pack()
root = Tk()
main()
root.mainloop()
</code></pre>