使用带有asyncio await语法的Qt Pyside2?

2024-09-29 21:30:02 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在pyside2的主循环中等待此函数(src):

async def do_request(value): #asyncqt maybe possible
    #print("do request")
    await asyncio.sleep(value)
    #print("request finished")
    return value

async def eventFilter(self, source, event): #impossible, needs pyside2 rewrite
     ... 

我非常不愿意使用任何非官方的东西,所以pyside2:我研究了pyside2有Qthreads示例的例子,但是没有asyncio await。我的库使用asyncio,那么如何在pyside2中等待呢?在

这是一个严重的问题:https://github.com/harvimt/quamash/issues/104不支持pyside2,https://github.com/gmarull/asyncqt不被维护。解决办法是什么?
请问如何整合这样简单的通话。我担心非维护性回购出现破发/漏洞


Tags: 函数httpssrcgithubcomasyncioasyncvalue
1条回答
网友
1楼 · 发布于 2024-09-29 21:30:02

PyQt非常流行。尽管有些人可能因为许可证问题而不想要它。无论您选择PyQt还是PySide,QTimer都有一些非常好的功能。特别是,您可以使用singleShot()方法以特定的延迟运行代码。在

from PySide2.QtCore import QTimer

timer = QTimer()

def myfunc():
    # do your stuff here
    pass

def do_request(self, value):
    timer.singleShot( delay_msec, myfunc)

您还可以start()一个QTimer在常规的interval运行任务。在

相关问题 更多 >

    热门问题