如何解决在Tkinter中按下按钮时,如何使用功能执行多个任务?
因此,我的计划是创建其中一个游戏序列显示在屏幕上的游戏,并且您必须在序列之后单击正确的按钮。我将在该项目中使用Tkinter。这里是一些解释:单击任何按钮时,将使用一个参数来执行一个函数,该参数将告诉您单击了哪个按钮,然后该函数将检查它是否为正确的按钮。
问题:如果用户单击了右按钮,则此函数将调用第二个函数以显示序列的下一个按钮。关键是要花一些时间才能显示出来,同时tkinter按钮保持“单击”状态。我不希望发生这种情况,也是因为在发生这种情况时,您无法执行其他任务,例如离开游戏或重新开始比赛。
如果您还没有看到问题,这里有一个简单的示例向您展示问题:
import tkinter as tk
from time import sleep
def func():
print('hi')
func2()
def func2():
print('hi2')
for num in range(3,11):
sleep(1)
print('hi' + str(num))
wn = tk.Tk()
b1 = tk.Button(wn,command=func)
b1.pack()
wn.mainloop()
在这种情况下,当按下按钮时,代码应打印'hi'+ 1到10之间的数字。但是,我之前所说的事情发生了。
如何使上面的示例以及我的项目正常工作?
解决方法
您可以使用threads,也可以定义运行func1和func2的func3。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。