当前位置:   article > 正文

PyCharm社区版配置pyqt开发环境详细步骤_pycharm社区版环境配置

pycharm社区版环境配置

目录

1、安装pyqt6和pyqt6-tools包

1.1 安装pyqt6和pyqt6-tools

1.2 安装pyqt6和pyqt6-tools注意事项

2、在pycharm中配置pyqt6

2.1 配置designer.exe文件

2.2 配置pyuic工具

3、实例测试

3.1 通过可视化界面来实现(qtDesigner)

3.2 通过代码来实现界面的初始化

3.3 两种开发方法的对比

4、配置中存在的问题

from PyQt6 import QtWidgets。报错ImportError: DLL load failed: 找不到指定的程序

参考资料


1、安装pyqt6和pyqt6-tools包

注意:pyqt6-tools目前仅支持python3.9版本,3.9版本后的安装部成功。(截止2022.11.20)

1.1 安装pyqt6和pyqt6-tools

安装pyqt和pyqt6-tools可以使用conda和pip进行安装

(1)首先创建python环境

  1. #利用conda,创建python环境
  2. conda create --name pyqt_env python=3.9

命令如下:

(2)激活pyqt_env环境

  1. #激活pyqt_env环境
  2. conda activate pyqt_env

(3)安装pyqt6和pyqt6-tools,建议使用pip

pip install pyqt6

当看到successfully是表示安装成功。

在安装成功pyqt6后,安装pyqt6-tools

pip install pyqt6-tools

当看到successfully表示成功,出现红色的部分表示有部分包没有安装成功。

1.2 安装pyqt6和pyqt6-tools注意事项

检验上述两个是否安装成功,可以使用 pip show <包名>的情况来查看

  1. #例如
  2. pip show pyqt6-tools

出现以下信息,也表明安装成功了。

注意:在安装过程中,会遇到包下载不了的情况,我们可以使用国内的镜像地址来下载。

#可以使用临时镜像对python包进行下载
pip install pyqt6-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

镜像地址有很多,除了清华的地址,还有:

2、在pycharm中配置pyqt6

在本例的配置中,选择用pycharm的社区版本,2022.2.4版本,最新的pycharm采用了新界面的风格,更轻量化,功能布局更为合理。

2.1 配置designer.exe文件

pyqt开发为我们在python环境中开发提供了可视化界面的编程,配置designer.exe可以方便的进行界面设计和开发。

(1)打开pycharm软件,并新建项目。

pycharm新界面较为简洁

(2)打开设置界面(快捷键Ctrl+Alt+S)

打开设置界面,找到Extenal Tools工具

接下来根据设置界面添加designer.exe文件

修改 Working directory 目录

Working directory 为 $ProjectFileDir$ 对应当前目录

2.2 配置pyuic工具

pyuic工具可以将QtDesigner生成的.ui文件转换为.py文件,相当于通过界面可视化界面设计后,直接将界面文件转化为python代码,这样就极大的提高了代码的编写效率。

紧接上一步骤,点击‘+’号添加pyUIC工具

参数填写

Arguments

$FileName$ -o $FileNameWithoutExtension$.py

Working directory

$ProjectFileDir$

注意:Working directory目录也可以自定义设置
到这里pycharm的配置已经完成。

3、实例测试

可以利用配置好的环境进行简单的界面开发。

3.1 通过可视化界面来实现(qtDesigner)

通过tools--pyqt6--pyqtDesigner可以打开界面设计界面

界面设计可视化界面

选择main window,然后添加一个label,键入“hello world”。

然后保存界面文件为.ui文件,将ui文件保存到和主程序代码相同的路径下。

接下来将.ui文件转化为.py文件,这是可以利用pyUIC工具进行转化

点击pyUIC命令后,程序会将工程内的.ui文件自动转化为.py文件。

UItest.py代码如下,请记住class的名称为Ui_MainWindow

  1. # Form implementation generated from reading ui file 'UItest.ui'
  2. #
  3. # Created by: PyQt6 UI code generator 6.1.0
  4. #
  5. # WARNING: Any manual changes made to this file will be lost when pyuic6 is
  6. # run again. Do not edit this file unless you know what you are doing.
  7. from PyQt6 import QtCore, QtGui, QtWidgets
  8. class Ui_MainWindow(object):
  9. def setupUi(self, MainWindow):
  10. MainWindow.setObjectName("MainWindow")
  11. MainWindow.resize(800, 600)
  12. self.centralwidget = QtWidgets.QWidget(MainWindow)
  13. self.centralwidget.setObjectName("centralwidget")
  14. self.label = QtWidgets.QLabel(self.centralwidget)
  15. self.label.setGeometry(QtCore.QRect(270, 200, 211, 71))
  16. self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
  17. self.label.setObjectName("label")
  18. MainWindow.setCentralWidget(self.centralwidget)
  19. self.menubar = QtWidgets.QMenuBar(MainWindow)
  20. self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))
  21. self.menubar.setObjectName("menubar")
  22. MainWindow.setMenuBar(self.menubar)
  23. self.statusbar = QtWidgets.QStatusBar(MainWindow)
  24. self.statusbar.setObjectName("statusbar")
  25. MainWindow.setStatusBar(self.statusbar)
  26. self.retranslateUi(MainWindow)
  27. QtCore.QMetaObject.connectSlotsByName(MainWindow)
  28. def retranslateUi(self, MainWindow):
  29. _translate = QtCore.QCoreApplication.translate
  30. MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
  31. self.label.setText(_translate("MainWindow", "Hello World"))

此时,产生的是为界面代码并不能直接运行,需要将代码绑定到main函数才能运行。将Ui_MainWindow类的名称绑定到ui关键字,使得ui=Ui_MainWindow().

  1. import sys
  2. from PyQt6 import QtGui,QtWidgets
  3. from UItest import Ui_MainWindow
  4. if __name__ == '__main__':
  5. app=QtWidgets.QApplication(sys.argv)
  6. MainWindow=QtWidgets.QMainWindow()
  7. ui=Ui_MainWindow()
  8. ui.setupUi(MainWindow)
  9. MainWindow.show()
  10. sys.exit(app.exec())

运行上述代码可以得到运行的界面。

3.2 通过代码来实现界面的初始化

通过编写代码也可以实现对pyqt界面的设计,具体代码例子如下:

  1. import sys
  2. from PyQt6.QtWidgets import (QApplication, QWidget,QLabel,QPushButton)
  3. from PyQt6.QtCore import QCoreApplication
  4. # 主窗体
  5. app = QApplication(sys.argv) # 创建应用对象
  6. mainWindow = QWidget() # 构造登陆窗口
  7. mainWindow.setWindowTitle('第一个程序') # 窗口标题
  8. mainWindow.resize(800, 600) # 窗口大小
  9. # 密码Label
  10. pass_Label = QLabel(mainWindow) # 放置在登陆窗口上
  11. pass_Label.setText('你好,世界!!!') # 设置显示文本
  12. pass_Label.move(350, 280) # 设置位置
  13. # 退出按钮
  14. exit_Btn = QPushButton('关闭应用程序', mainWindow)
  15. exit_Btn.clicked.connect(QCoreApplication.instance().quit) # 绑定退出事件
  16. exit_Btn.move(350,350)
  17. mainWindow.show() #显示窗体
  18. sys.exit(app.exec()) #进入消息循环

程序运行效果如图:

3.3 两种开发方法的对比

两种方法没有本质的区别,主要是在效率上的区别

  • 采用代码编写的时候,需要大量的代码来实现界面控件的位置、属性和内容等。
  • 采用Designer来设计界面,可以实现可视化的编程,较为适合从C#.NET开发者等的入门。能够很好的实现业务与设计分离。

4、配置中存在的问题

由于pyqt6和pyqt6-tools两个包不一样,容易导致如下问题

from PyQt6 import QtWidgets。报错ImportError: DLL load failed: 找不到指定的程序

要解决此问题只需要将pyqt6和pyqt6-tools的版本进行统一就可以了。

具体可以这样操作,首先利用

pip list命令查看包的安装列表

从上图可以看出pyqt和pyqt6-tools的版本不一致,可以pyqt6-qt6包卸载,重新安装pyqt6-qt6包为6.1.0版本,既可以解决找不到指定程序的错误。

参考资料

PyCharm中使用PyQt实现UI界面设计 - fengMisaka - 博客园

PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程_思绪无限的博客-CSDN博客

【python】PyQt6和pyqt6-tools在PyCharm2021的详细配置方法_特大辉哥的博客-CSDN博客

Python之pip命令指定安装源和版本_慕城南风的博客-CSDN博客

pyqt6 vscode ImportError: DLL load failed while importing QtGui: 找不到指定的程序。_mengyu822_csdn的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/118325?site
推荐阅读
相关标签
  

闽ICP备14008679号