如何调整它,以便在从菜单中选择xyz17
时运行函数xyz17()
?你知道吗
我知道command = xyz17
,但我不确定如何使其动态化,从而取决于菜单选择。你知道吗
from tkinter import *
def xyz17():
print('xyz17')
def abc27():
print('abc27')
def qwe90():
print('qwe90')
def uio19():
print('uio19')
def jkl09():
print('jkl09')
def zxc28():
print('zxc28')
class Menu(OptionMenu):
def __init__(self, master, status, *options):
self.var = StringVar(master)
self.var.set(status)
OptionMenu.__init__(self, master, self.var, *options)
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()
请注意,函数的每个priniting值只是一个例子,我希望代码运行函数本身。我知道这一点:
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,value):
print (value)
但是,这与我的场景无关,因为它只是获取值并打印它,我希望它实际运行函数本身。你知道吗
如果要为选项运行特定的方法,只需检查发送的字符串并使用
if
/elif
语句基于字符串选择方法:基于选项菜单选择运行命令的一种方法是使用函数字典:
func_dict = {option: function, ...}
,然后将以下函数传递给OptionMenu
的command
选项:执行与所选选项对应的函数。你知道吗
举个例子:
相关问题 更多 >
编程相关推荐