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