python2和python3均可以,先安裝PyQT5:html
sudo apt-get install python-pyqt5 python3-pyqt5
安裝PyQT4:python
sudo apt-get install python-qt4 python3-pyqt4
使用mayavi要安裝下面依賴庫:app
sudo apt-get install python3-pyqt5.qtsvg python-pyqt5.qtsvg
Qt界面設計編輯器
在Qt的界面開發開發中,設計界面能夠使用Qt Creator或者Designer,本質是同樣的,本文中使用Designer。svg
新建一個Main Window項目,保存爲testPyQt5.ui(參考博客中創建的是Widget項目)函數
在界面上添加一個pushButton,名爲btn,添加一個testEdit,名爲textEdit工具
經過上圖中的來爲pushButton添加一個槽函數btn_click(),該圖標就是信號和槽編輯器。ui
進入信號槽編輯模式後,左鍵按住pushButton而後往外拖到一個地方鬆開,便會出現下圖中的樣子this
上圖中左邊爲名爲btn的pushButton的信號,選中clicked()信號,右邊即爲與該信號綁定的槽函數。spa
因爲該信號暫時並沒與任何槽函數相鏈接,因此右邊的槽函數框中是空白的。此時就須要本身新建一個槽函數了。點擊編輯,會彈出一個界面中,點擊槽對應的框下面的 ,會生成一個函數,名字修改成btn_click()
而後確認。在返回的界面中,在槽函數那一欄中選擇剛纔自定義的btn_click()函數
確認並保存。而後將testPyQt5.ui文件放到本身的項目目錄下。
PyQt5提供了將ui文件轉化爲python文件的工具--pyuic5,在python安裝目錄下的scripts文件夾下,記得將pyuic5所在的路徑添加到系統環境變量中。
進入項目目錄下(前一步中已將testPyQt5.ui放到項目目錄下)
輸入:
pyuic5 testPyQt5.ui -o testPyQt5.py
便會在當前目錄下生成名爲testPyQt5.py的文件。
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'testPyQt5.ui' # # Created by: PyQt5 UI code generator 5.5.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(604, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.textEdit = QtWidgets.QTextEdit(self.centralwidget) self.textEdit.setGeometry(QtCore.QRect(190, 140, 181, 91)) self.textEdit.setObjectName("textEdit") self.btn = QtWidgets.QPushButton(self.centralwidget) self.btn.setGeometry(QtCore.QRect(190, 90, 99, 27)) self.btn.setObjectName("btn") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 604, 31)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) self.btn.clicked.connect(MainWindow.btn_click) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.btn.setText(_translate("MainWindow", "PushButton"))
若是前面自PyCharm中配置了PyQt5,就能夠直接郵件testPyQt5.ui,External Tools->PyUIC,就自動生成了.py文件。
#encoding: utf-8 # pyuic5 testPyQt5.ui -o testPyQt5.py from testPyQt5 import Ui_MainWindow # 導入uitestPyQt5.ui轉換爲uitestPyQt5.py中的類 from PyQt5 import QtWidgets import sys class Mywindow(QtWidgets.QMainWindow, Ui_MainWindow): # 創建的是Main Window項目,故此處導入的是QMainWindow # 參考博客中創建的是Widget項目,所以哪裏導入的是QWidget def __init__(self): super(Mywindow, self).__init__() self.setupUi(self) def btn_click(self): # 定義槽函數btn_click(),也能夠理解爲重載類Ui_MainWindow中的槽函數btn_click() self.textEdit.setText("hi,PyQt5~") app = QtWidgets.QApplication(sys.argv) window = Mywindow() window.show() sys.exit(app.exec_())
效果以下圖:
版權聲明:本文爲博主原創文章,轉載請註明出處。 https://blog.csdn.net/w1019220367/article/details/55106716