目前任务需要做一个界面程序,PyQt是非常方便的选择,QT丰富的控件以及python方便的编程。近期遇到界面中执行一些后台任务时界面卡死的情况,解决了在这里记录下。
PyQt
PyQt简介
PyQt是Qt的python接口,PyQt的文档较少,但接口和函数可以完全参照Qt,继承了Qt中大量的控件以及信号机制,十分方便。以下简介一个基本的PyQt程序。
- 需要导入的类主要来自三个包
- from PyQt5.QtWidgets import 常用的控件
- PyQt5.QtCore 核心功能类,如QT,QThread,pyqtSignal
- PyQt5.QtGui UI类,如QFont
- 基础的程序结构:
class Example(QWidget):
def __init__(self):
super()__init__()
self.setupUI()
def setupUI():
self.show()
pass
# 设置UI
if __name__ == '__main__':
app = QApplication(sys.argv) # 启动app
ex = Example() # 实例化一个自己派生的
# 也可以实例化库中的控件
# q = QPushButton()
# q.show()
sys.exit(app.exec_())
总体来说:
1. 首先实例化APP
2. 实例化预定义控