运行在tkinter事件循环之上的异步库

asynctkinter的Python项目详细描述


异步转换器

在tkinter的事件循环之上工作的异步库。 (Youtube

安装

pip install asynctkinter

使用

^{pr2}$

等待同时完成/取消多个任务

asyncdefsome_task(label):fromfunctoolsimportpartialimportasynctkinterasatsleep=partial(at.sleep,after=label.after)# wait until EITEHR a label is pressed OR 5sec passestasks=awaitat.or_(at.event(label,'<Button>'),sleep(5000),)print("The label was pressed"iftasks[0].doneelse"5sec passed")# wait until BOTH a label is pressed AND 5sec passes"tasks=awaitat.and_(at.event(label,'<Button>'),sleep(5000),)

同步原语

有一个三重奏的Event等价物。在

importasynctkinterasatasyncdeftask_A(e):print('A1')awaite.wait()print('A2')asyncdeftask_B(e):print('B1')awaite.wait()print('B2')e=at.Event()ak.start(task_A(e))# A1ak.start(task_B(e))# B1e.set()# A2# B2

注意

  • 为什么patch_unbind()是必需的?看看this。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java语义理解递归反向字符串返回语句   java toString()方法打印空值   java大型IN子句   如何使用JavaSpring在JavaScriptjQuery中设置post路径   java ByteArrayOutputStream已上载到服务器   java为什么轮询在SocketIO上获取数据“无法加载请求的项”?   java源代码应该以UTF8格式保存   Java数据库轮询器?   在Java中将double转换为float   java AccessDeniedException:C:\Windows\System32\drivers\etc\hosts