PyCharm+Aancanda+PyQt5+QtDesigner 安装配置及初步使用遇到的问题:
1,QtDesigner的安装
2,QtDesigner无法启动
3,运行pyuic 转换.ui文件没反应
4,ui生成的py运行没反应
5,ui生成的py运行报错
1,QtDesigner的安装问题
1)pip安装qt5-tool出现pip的错误,参考以下连接
先卸载低版本的pip,再更新高版本的pip
2)pip问题搞定后,安装qt5-tool,总是在最后关头发生错误,问题就两个:1使用国内的镜像源,2:网速要好,我开始用手机热点就不行,回到家用宽带WiFi就ok,参考以下,优先用清华的
我的python是跟Anacanda一起装的,只需要装QtDesigner就可以,参考以下连接,Anacanda挺好,比自己装python方便省心
https://blog.youkuaiyun.com/chengzaigua8355/article/details/100996386
2,QtDesigner无法启动
安装qt5-tool完后,QtDesigner就装完了,
1)在文件夹中找到QtDesigner.exe后启动,出现错误,参考以下连接
https://blog.youkuaiyun.com/alun550/article/details/108443045
2)配置pycharm,参考以下
https://blog.youkuaiyun.com/esting_tang/article/details/81082504
这个注意
Name:QtDesigner
Group:Qt
Programs:F:\anaconda\Library\bin\designer.exe(这里是各位自己的designer路径,之前所看到的)
Working directory:$ProjectFileDir
标红的这个参数,我想知道怎么学习相关的系统的知识
3,运行pyuic 转换.ui文件没反应
注意
Name:Pyuic
Group:Qt
Program:F:\anaconda\python.exe(各位自己的python路径)
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$FileDir$
名称 PyUIC
描述 File of .ui be convert to .py
程序 选择python.exe的文件路径
参数 填写
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
- 1
工作目录:
选择ui文件存放的目录!!!
选择ui文件存放的目录!!!
选择ui文件存放的目录!!!
或者是,写成项目的目录,每次换了新项目就改地址!!!
注意红字部分,起始在第一个连接中就有,第一次没注意,发现pyuic运行没反应才找到
4,ui生成的py运行没反应
主要是因为pycharm自带的python虚拟环境,需要改为本机安装的环境,参考以下
https://blog.youkuaiyun.com/f2935552941/article/details/82469347 pycharm配置pyuic的时候出现ModuleNotFoundError: No module named 'PyQt5'的解决方案
另外补充已有工程的修改,对于已经建好的工程,修改setting
虚拟环境修改后,就不能单独运行文件了,解决此问题,参考以下
https://blog.youkuaiyun.com/weixin_43478936/article/details/84144872
https://blog.youkuaiyun.com/yogima/article/details/80589255
5,ui生成的py运行报错
看下我的案例吧,有三个main启动的代码,分别是一下,最后的是ok的,仔细观察下
# -*- 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. from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(400, 300) self.buttonBox = QtWidgets.QDialogButtonBox(Dialog) self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32)) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) self.buttonBox.setObjectName("buttonBox") self.retranslateUi(Dialog) self.buttonBox.accepted.connect(Dialog.accept) self.buttonBox.rejected.connect(Dialog.reject) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) # 创建一个QApplication,也就是你要开发的软件app # MainWindow = QtWidgets.QMainWindow() # 创建一个QMainWindow,用来装载你需要的各种组件、控件 # ui = Ui_MainWindow() # ui是Ui_MainWindow()类的实例化对象 # ui.setupUi(MainWindow) # 执行类中的setupUi方法,方法的参数是第二步中创建的QMainWindow # MainWindow.show() # 执行QMainWindow的show()方法,显示这个QMainWindow # sys.exit(app.exec_()) # 使用exit()或者点击关闭按钮退出QApplicat # # widget = QtWidgets.QWidget() # ui = Ui_Widget() # ui.setupUi(widget) # widget.show() # sys.exit(app.exec_()) Dialog = QtWidgets.QDialog() # 创建一个QMainWindow,用来装载你需要的各种组件、控件 ui = Ui_Dialog() # ui是Ui_MainWindow()类的实例化对象 ui.setupUi(Dialog) # 执行类中的setupUi方法,方法的参数是第二步中创建的QMainWindow Dialog.show() # 执行QMainWindow的show()方法,显示这个QMainWindow sys.exit(app.exec_()) # 使用exit()或者点击关闭按钮退出QApplicat
对了,就是要选自己生成的对象想对应的类型
参考链接
https://blog.youkuaiyun.com/weixin_43478936/article/details/84144872
https://blog.youkuaiyun.com/yogima/article/details/80589255