-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Closed
Description
如题,请问一下,
### 1. pyqt5与asyncio结合是不是可以替代线程呢?感觉线程没有协程方便呢,自己试了一下,把协程放在主线程中,界面会阻塞,应该是协程失效了吧。
代码如下:
from PyQt5.QtWidgets import QPushButton,QVBoxLayout,QWidget,QApplication
from PyQt5.QtGui import QIcon,QPixmap
import sys
import asyncio
class WindowClass(QWidget):
def __init__(self,parent=None):
super(WindowClass, self).__init__(parent)
self.btn_1=QPushButton("Btn_1")
self.btn_1.setCheckable(True)#设置已经被点击
self.btn_1.toggle()#切换按钮状态
self.btn_1.clicked.connect(self.btnfunc)
self.resize(400,300)
layout=QVBoxLayout()
layout.addWidget(self.btn_1)
self.setLayout(layout)
def btnfunc(self):
print("start...")
async def wait():
await asyncio.sleep(20)
asyncio.run(wait())
print("end...")
if __name__=="__main__":
app=QApplication(sys.argv)
win=WindowClass()
win.show()
sys.exit(app.exec_())
### 2.另外,自己在网上查了一下,就查到一个 quamash框架是协程和pyqt结合的,有没有其他的框架呢?是不是协程要在pyqt5种运行,要自己进行封装?
Metadata
Metadata
Assignees
Labels
No labels