将 Qt Pyside2 与 asyncio await 语法一起使用?
Use Qt Pyside2 with asyncio await syntax?
如何在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:我查看了具有 Qthreads 示例的 pyside2 示例,但没有 asyncio await。我的库使用 asyncio 那么如何在 pyside2 中等待?
这是一个严重的问题:https://github.com/harvimt/quamash/issues/104 does not support pyside2 and https://github.com/gmarull/asyncqt 未维护。解决方法是什么?
请问如何集成这样简单的调用。我担心 breaks/bugs 未维护的回购
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://www.youtube.com/watch?v=ol5IuJyw-Tg 使用内置 qthread qrunnable qthread
不阻塞主 gui 线程是可行的方法。
有关示例,请参阅 https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/corelib 并浏览源代码(适用于 pyside2)
如何在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:我查看了具有 Qthreads 示例的 pyside2 示例,但没有 asyncio await。我的库使用 asyncio 那么如何在 pyside2 中等待?
这是一个严重的问题:https://github.com/harvimt/quamash/issues/104 does not support pyside2 and https://github.com/gmarull/asyncqt 未维护。解决方法是什么?
请问如何集成这样简单的调用。我担心 breaks/bugs 未维护的回购
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://www.youtube.com/watch?v=ol5IuJyw-Tg 使用内置 qthread qrunnable qthread
不阻塞主 gui 线程是可行的方法。
有关示例,请参阅 https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/corelib 并浏览源代码(适用于 pyside2)