1 安裝pyqt5
1.1 安裝pyqt5
pip install PyQt5
1.2 安裝pyqt5常用工具包
pip install PyQt5-tools
1.3 新建main.py
編寫以下測試代碼,驗證是否安裝成功
import sys
from PyQt5.QtWidgets import QWidget, QApplication
app = QApplication(sys.argv)
widget = QWidget()
widget.resize(640, 480)
widget.setWindowTitle("Hello, PyQt5!")
widget.show()
sys.exit(app.exec())
1.4 如果出現以下窗口,表示PyQt5庫安裝成功
2 指定Qt Designer和PyUIC
2.1 打開setting
2.2 設置QTDesigner
Anaconda3中自帶了QtDesigner,位於Anaconda3\Library\bin\designer.exe
Program:D:\Program_Software\Anaconda3\Library\bin\designer.exe
Working directory: $ProjectFileDir$
2.3 設置PyUIC
Program: D:\Program_Software\Anaconda3\python.exe
Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $ProjectFileDir$
2.4 添加完成
3 測試QTDesigner是否添加成功
3.1 打開QTDesigner
3.2 新建一個UI文件
3.2.1 點擊創建
3.2.2 新建一個按鈕,並保存ui文件
3.2.3 目錄下已經出現mainwindow.ui
,QTDesigner配置成功
4 測試PyUIC是否配置成功
4.1 在mainwindow.ui
上右擊選擇 PyUIC
4.2 自動生成mainwindow.py
,表示配置成功
5 自定義類繼承UI界面
5.1 改main.py
爲如下:
from PyQt5.QtWidgets import QApplication,QMainWindow
from mainwindow import Ui_MainWindow
import sys
class My_UI(QMainWindow, Ui_MainWindow):
def __init__(self):
QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
if __name__ == '__main__':
app = QApplication(sys.argv)
# 顯示窗口
win = My_UI()
win.show()
sys.exit(app.exec_())
5.2 運行,出現以下界面
- 成功!!
6 其它常用操作
- 設置窗口標題
self.setWindowTitle('我是標題')
- 設置軟件圖標
self.setWindowIcon(QIcon('./XXX.ico'))
- 連接信號和槽
self.Btn_XXX.clicked.connect(self.my_function)
- 引入QSS文件
class CommonHelper:
def __init__(self):
pass
@staticmethod
def readQss(style):
with open(style, 'r') as f:
return f.read()
if __name__ == '__main__':
app = QApplication(sys.argv)
# 設置style
styleFile = './css.qss'
qssStyle = CommonHelper.readQss(styleFile)
app.setStyleSheet(qssStyle)
# 顯示窗口
win = My_UI()
win.show()
sys.exit(app.exec_())
- QSS文件示例
QPushButton {
box-shadow: inset 0px 1px 0px 0px #ffffff;
background: linear-gradient(to bottom, #f9f9f9 5%, #e9e9e9 100%);
background-color: #f9f9f9;
border-radius: 6px;
border: 1px solid #dcdcdc;
display: inline-block;
cursor: pointer;
color: #666666;
font-family: Arial;
font-size: 15px;
font-weight: bold;
padding: 4px 15px;
text-decoration: none;
text-shadow: 0px 1px 0px #ffffff;
}
QPushButton:hover {
background: linear-gradient(to bottom, #e9e9e9 5%, #f9f9f9 100%);
background-color: #e9e9e9;
}
QPushButton:pressed {
position: relative;
top: 1px;
}