欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中
可能遇到的报错解决方法
ImportError: DLL load failed while importing QtCore: 找不到指定的模块
报错解决的省流小助手:出现报错 ImportError: DLL load failed while importing QtCore的原因在于,我之前装过pyside2,那个库里面也有designer.exe工具,我之前配置路径的时候用了pyside2的designer.exe,当然找不到qt的QtCore,修改正确的路径即可。
安装必须要的库
如果你原来安装过然后配置失败,这一步就卸载你原来装的这两个库重新装一遍。
# 卸载
pip uninstallpyqt5
pip uninstallpyqt5-tools
# 安装
pip install pyqt5
pip install pyqt5-tools
找到你的qt下面的designer工具路径(易错点)
这里注意,虽然我的python是在E盘路径下的,可能是因为我之前是python路径原来的安装地址是C盘,后来电脑重装,python被我迁移到的E盘,重新配的环境变量,导致了我的site-package(库文件存放文件夹)在C盘。你要找你自己的site文件夹,如果你是python当时安装的时候一直点下一步默认装在C盘的,那么你的情况会和我下面一样,如果你是默认直接装在别的盘,到你的python下面的site-package找。
qt5_applications(你可能会有多个designe.exe在电脑中,别的库比如说pyside2库也会装designer路径选错后面的配置会报错)下面的designer.exe的路径,906687是用户名,改为你自己的。
-
pyside2的designer.exe(错误路径)
-
qt5_applications的designer.exe(正确路径)
C:\Users\90668\AppData\Roaming\Python\Python38\site-packages\qt5_applications\Qt\bin\designer.exe
到此为止,点击这个exe文件你就能打开designer编辑UI界面了
打开后的界面效果
在pycharm中配置
打开设置file-setting-tool-external-tool,点击加号添加新工具。(注意你的tool列表应该是没有我图中所示的三个工具的)
1. QT Designe 快速打开designer.exe或是编辑UI文件
Name–> QT Designer
Program–> C:\Users\90668\AppData\Roaming\Python\Python38\site-packages\qt5_applications\Qt\bin\designer.exe
(designer.exe的路径)
Arguments–>
Working directory–> E:\allworkspace\python work space\GUI pyqt5_亚马逊
(你的项目路径)
2. PyUIC 将ui文件转为py文件
Name–> PyUIC
Program–> E:\python\python\python.exe
(你的python文件路径)
Arguments–> -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory–> $FileDir$
3. pyrcc 将图片、数据文件资源打包成py文件
QtDesigner中管理资源文件(图片、数据文件)是通过.qrc文件来管理的。pyQt生成的应用程序,引用图片通常是将资源文件装换为 python 文件,然后引用资源文件,而不能直接加载资源文件。需要通过pyrcc将.qrc文件转化成.py文件。
Name–> pyrcc
Program–> E:\python\python\python.exe
(你的python文件路径)
Arguments–> $FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory–> $FileDir$
工具的测试
工具打开方式
顶部导航栏打开
右键文件 打开
新建一个UI界面
建立一个窗体
拖入控件
左上角文件另存为保存ui文件
生成界面的py文件
右键untitled.ui 使用PYUIC后,生成了untitled.py文件
运行我们的py文件
我们转化后的py文件,直接运行是没有反应的,需要在末尾添加一个入口函数才能运行出Ui界面
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# 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
from PyQt5.QtWidgets import QApplication
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.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.verticalLayoutWidget.setGeometry(QtCore.QRect(210, 150, 160, 80))
self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
self.checkBox.setGeometry(QtCore.QRect(400, 370, 71, 16))
self.checkBox.setObjectName("checkBox")
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.checkBox.setText(_translate("MainWindow", "CheckBox"))
添加了入口函数后的代码
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# 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
from PyQt5.QtWidgets import QApplication
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.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.verticalLayoutWidget.setGeometry(QtCore.QRect(210, 150, 160, 80))
self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
self.checkBox.setGeometry(QtCore.QRect(400, 370, 71, 16))
self.checkBox.setObjectName("checkBox")
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.checkBox.setText(_translate("MainWindow", "CheckBox"))
"""入口函数"""
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
最终呈现效果
总结
大家喜欢的话,给个👍,点个关注!继续跟大家分享敲代码过程中遇到的问题!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-1-10文章来源:https://www.toymoban.com/news/detail-732833.html
欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中
【Python安装第三方库一行命令永久提高速度】
【使用PyInstaller打包Python文件】
【更多内容敬请期待】文章来源地址https://www.toymoban.com/news/detail-732833.html
到了这里,关于【Python】pyqt5安装Designer并配置到pycharm,解决报错ImportError: DLL load failed while importing QtCore(保姆级图文)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!