【发布时间】:2019-09-04 14:01:44
【问题描述】:
我正在使用tkinter创建一个应用程序,目前我制作了很多按钮,所以我需要用不同的命令绑定所有按钮,我想使用exec()来创建函数。
strategy=None
exec("global commandbutton"+str(len(strategicpoint)+1)+"\ndef commandbutton"+str(len(strategicpoint)+1)+"():\n\tglobal strategy\n\tstrategy="+str(len(strategicpoint)))
commandline=eval('commandbutton'+str(len(strategicpoint)+1))
imgx=tk.Button(win,image=towert,command=commandline)
对于更清洁的解决方案:
global commandbutton{...}
def commandbutton{...}():
global strategy
strategy={...}
我希望我的代码像上面一样运行并运行,但后来我调用命令并测试print(strategy),(我点击了按钮/调用了命令)当我希望它打印一些东西时它打印None否则。
【问题讨论】:
-
这看起来是个糟糕的主意。
-
坏主意。不要这样做。
-
我必须尝试一下,否则我将需要复制和粘贴很多使我的项目变大的函数:(
标签: python python-3.x tkinter windows-7 exec