- Preparation
virtualenv --no-site-packages venv
pip install PyQt5-tools # (pip install pyqt5(linux))
Settings->Tools->+QtDesigner(Program:…/Scripts/designer.exe)
Settings->Tools->+PyUIC(Program:…/Scripts/pyuic5.exe)
Settings->Tools->+PyRCC(Program:…/Scripts/pyrcc5.exe) # 將資源文件,例如圖片,轉換爲Python文件,以利於打包使用
- Qt GUI
Qt Designer->pyuic5 -o xxx.py xxx.ui
- 信號-槽函數,多線程
class A(QThread):
signal_1 = pyqtSignal()
...
signal_1.emit()
...
def function_1(self):
pass
class B(QThread):
signal_2 = pyqtSignal()
...
signal_2.emit()
...
def function_2(self):
pass
class MyMainWindow():
...
a = A()
b = B()
A.signal_1.connect(b.function_2)
B.signal_2.connect(a.function_1)
- pyinstaller打包
pyi-makespec -F main.py
pyinstaller -F main.spec
-