目录
一、寻找designer.exe
二、no Qt platform plugin could be initialized 问题解决
三、ui文件转换为py文件
四、pyqt5的使用教程
一、寻找designer.exe
头疼,找了一上午都没有找到这个的路径,最后还是在评论区看到的,这也不能怪人家博主,一些关于路径的博客还是得查找日期比较新的博客
配置Qt Designer到PyCharm:https://blog.csdn.net/qq_40386321/article/details/96451616
新版的designer.exe保存位置在:X:\Users\13711\AppData\Local\Programs\Python\Python37\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
个人觉得官方放这么隐秘估计就是不想我们用了
我自己这样配置的时候用不了,出现这种问题
后来发现以下方法
二、no Qt platform plugin could be initialized 问题解决
将designer.exe改成pyqt5designer.exe就好了
X:\Users\13711\AppData\Local\Programs\Python\Python37\Scripts\pyqt5designer.exe
三、ui文件转换为py文件
http://www.45fan.com/article.php?aid=19061906909242934592767988
很多文章都说直接右键ui文件——external tool——pyuic就行了,但是我试了,一直就卡在那里,也不知道是不是在运行,就是迟迟不出结果,后来看到一个直接通过脚本来实现的
1、到.ui文件的目录下,直接cmd进入,输入pyuic5 -o 转换的py文件 待转换的ui文件
这个过程需要几秒钟,耐心等待,不过我每次都成功了
2、
3、需要对test.py添加一点代码使得设计好的UI能够出现在我们面前
ui = Ui_Form() # 需要注意这个要改成你自己的类名称
import sysif __name__ == "__main__":app = QtWidgets.QApplication(sys.argv) # 创建一个QApplication,也就是你要开发的软件appMainWindow = QtWidgets.QMainWindow() # 创建一个QMainWindow,用来装载你需要的各种组件、控件ui = Ui_Form() # ui是你创建的ui类的实例化对象ui.setupUi(MainWindow) # 执行类中的setupUi方法,方法的参数是第二步中创建的QMainWindowMainWindow.show() # 执行QMainWindow的show()方法,显示这个QMainWindowsys.exit(app.exec_()) # 使用exit()或者点击关闭按钮退出QApplication
完整代码:
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'test.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, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(800, 600)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.treeView = QtWidgets.QTreeView(self.centralwidget)self.treeView.setGeometry(QtCore.QRect(300, 210, 256, 192))self.treeView.setObjectName("treeView")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.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
四、pyqt5的使用教程
https://blog.csdn.net/azuremouse/article/details/90338961
含界面比例自适应、传参等
五、pyqt5中pyuic配置
https://blog.csdn.net/qq_38187188/article/details/104643096