python 安装PyQt5 Python3.7安装PyQt5 运行配置Pycharm的详细教程
AdversityRebirth 人气:0系统:win10 64位 win7 64位都有测试了下, python版本3.7.3 安装PyQt5个人操作步骤,包裹在不同操作系统上遇到的问题,综合的解决
第一步:在cmd窗口中,使用国内镜像
下载PyQt5:
pip install PyQt5 -i http://pypi.doubanio.com/simple
然后在下载PyQt5-tools:
pip install PyQt5-tools -i http://pypi.doubanio.com/simple
出现成功这个单词,就按照完毕
一般这个步骤都可以成功
第二步:然后开始尝试打开designer.exe
由于我个人python安装在E盘,进入这个文件夹
E:\python\Lib\site-packages\pyqt5_tools\Qt\bin
直接双击 designer.exe.我尝试了不同的电脑,即使操作系统相同,但是问题还是可能不同,不过大致都有解决办法
第一个问题,是双击后出现了弹窗
解决办法是,退到上一级文件夹
复制plugins这文件夹,再次进入bin文件,里面也有一个plugins文件夹,直接粘贴即可,选择替换覆盖确定
这个时候再次双击designer.exe就可以打开画面
如果为了求方便,我觉得可以把这个designer.exe发送快捷方式到桌面,方便进入
第三步:pycharm配置打开设计器
打开File-->Settings
我根据自己本地路径输入的地方就3个
Name:QTDesigner
Program:E:\python\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe (大家自己的designer.exe路径)
Working directory:$ProjectFileDir$
然后在配置一下pyuic
同样的操作,在加号新建一个
Name:PyUIC
Program:E:\python\python.exe (大家自己的python.exe路径)
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
(太长的内容直接复制,大致意思就是把一个.ui文件翻译成.py文件,并且.py文件名字和.ui名字相同)
Working directory:$FileDir$
第4步:测试一下在图形界面下,是否可以编译成.py文件,我们最终的核心就是为了不去写窗口的排版而学习pyqt5
打开设计器
为了做测试,我随便选择一些按钮组件
左边的元素随意拖动到右边
然后保存一下,就会在项目下,生成一个.ui的文件
在pycharm项目文件预览窗口中
右键选择
就会生成untitled.py文件
打开这个文件,就已经把.ui文件生成为.py文件
到这里,就大功告成, 在这个过程中如果designer.exe缺少什么 dll文件,我们可以直接百度去下载对应的.dll文件就行,百度一查一大堆
第5步:运行一下刚才的界面代码,发送运行案例
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'untitled.ui' # # Created by: PyQt5 UI code generator 5.15.1 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing. import sys from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(80, 40, 75, 23)) self.pushButton.setObjectName("pushButton") self.listView = QtWidgets.QListView(self.centralwidget) self.listView.setGeometry(QtCore.QRect(210, 40, 256, 192)) self.listView.setObjectName("listView") self.radioButton = QtWidgets.QRadioButton(self.centralwidget) self.radioButton.setGeometry(QtCore.QRect(80, 120, 89, 16)) self.radioButton.setObjectName("radioButton") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.pushButton.setText(_translate("MainWindow", "PushButton")) self.radioButton.setText(_translate("MainWindow", "RadioButton")) if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) # 创建窗体对象 MainWindow = QtWidgets.QMainWindow() # 创建Pyqt窗体对象 pyui = Ui_MainWindow() pyui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
运行无错,基本设置完成
总结
加载全部内容