如何在src的主循环中等待此函数(Pyside2):
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中有Q线程示例的例子,但是没有等待异步的例子。我的库使用异步,那么如何在pyside2中等待呢?
这是一个严重的问题:https://github.com/harvimt/quamash/issues/104不支持pyside2,https://github.com/gmarull/asyncqt也不被维护。解决办法是什么?
请您如何整合这样简单的电话。我担心没有维护的repos会中断/错误。
发布于 2020-04-08 13:55:26
看完https://www.youtube.com/watch?v=ol5IuJyw-Tg之后,使用内置的qthread qrunnable qthread不阻塞主gui线程就可以了。
有关示例,请参阅https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/corelib并浏览源代码(its for pyside2)
发布于 2019-09-22 15:28:44
PyQt非常受欢迎。尽管有些人可能因为许可证问题而不想要它。无论您选择PyQt还是PySide,QTimer都有一些非常好的功能。特别是,您可以使用singleShot()方法在特定延迟时运行代码。
from PySide2.QtCore import QTimer
def myfunc():
# do your stuff here
pass
def do_request(self, value):
# call static function singleShot
QTimer.singleShot( delay_msec, myfunc)您还可以使用start() QTimer在普通interval上运行任务。
https://stackoverflow.com/questions/58041425
复制相似问题