PyQt5+pycharm开发环境搭建的实现步骤(图文)

 更新时间:2021年11月30日 10:05:33   作者:StephenBarrnet  
本文针对创建PyQt运行环境+PyCharm开发环境的过程进行记录,文中通过图片示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

什么是pyQt5

首先我们来说说什么是pyQt5。

搞过GUI界面设计的童鞋一定都了解过微软的MFC。当然了,个人感觉MFC不是一个非常优雅的UI分开发工具,不过设计起来也是真的比较方便,主要原因就是做起界面来就是画图。

现在为了写算法方便转战了python,又没有学到混合编程的地步,那么在python环境下有没有这样的开发工具呢?

pyQt就是这样的一个工具

要说pyQt,就必须从QT说起。QT是一个用C/C++编写的,跨平台的GUI库,支持目前主流的操作系统Windows,MacOS X和Linux。QT是由挪威的一家公司Trolltech开发的,此公司2008年6月被大名鼎鼎的Nokia收购,2012年8月芬兰公司Digia从Nokia收购了QT的所有业务。

而python作为注明的胶水语言,这么一个强大好用的GUI库怎么能不收入囊中呢?于是pyQt就诞生了。它可以吧用QTDesigner制作的GUI界面转换成python语言接口,使用python来调用,于是我们可以通过高效的python,而不是C++,去开发我们的GUI界面了。

于是,pyQt容纳了C++底层开发的告诉,以及python接口调用的高效。

一句话概括一次啊,pyQt是使用python去调用绘制好的GUI界面的库

而对于pyQt5,就是pyQt的第5个版本啦。注意了,它是不向下兼容的,不过吧pyQt4的代码改成pyQt5可用的程序也并不难,主要是几个新增的功能修改写法罢了。

安装pyqt5环境:

pip install PyQt5
pip install PyQt5-tools

一、 pycharm环境准备

1. 在Pycharm中点击 “file”—>“Settings” 选项

在这里插入图片描述

2. 在弹出的界面上点击 “Tools” —> “External Tools”

在这里插入图片描述

3. 点击 “+” 弹出Create Tool界面,按照如下方式设置 QtDesigner :

Name:QtDesigner
Program:designer.exe所在的路径
Working directory:$ProjectFileDir$

在这里插入图片描述

4. 点击 “+” 弹出Create Tool界面,按照如下方式设置 PyUIC:

Name:PyUIC
Program填入python.exe的路径
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$FileDir$

在这里插入图片描述

5. 点击 “+” 弹出Create Tool界面,按照如下方式设置 PyRCC:

Name:PyRCC
Program填入python.exe的路径
Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory:$FileDir$

在这里插入图片描述

二、 编写界面并运行

1. 启动qt designer,设计界面

上述设置完之后在菜单栏中的 “Tools” 中会出现 External Tools 选项,点击 Qtdesigner 弹出设计界面。

在这里插入图片描述

在这里插入图片描述

选择其中一个选项,点击 “创建”,这里创建了三个 按钮 和 三个 下拉框用来测试。创建完后,点击 保存

在这里插入图片描述

2. 编译ui文件

选择新生成的 test.ui 文件, 右击选择 “External Tools” 中的 “PyUIC”,生成相应的 test.py 文件。

在这里插入图片描述

在这里插入图片描述

3. 运行界面

新创建一个 py 文件,将下面的代码复制到在这个文件中,点击运行,即可弹出设计的界面。

在这里插入图片描述

import sys
import test
from PyQt5.QtWidgets import QApplication, QDialog

if __name__ == '__main__':
    myapp = QApplication(sys.argv)
    myDlg = QDialog()
    myUI = test.Ui_Form()
    myUI.setupUi(myDlg)
    myDlg.show()
    sys.exit(myapp.exec_())

三、 给生成的按钮实现弹窗功能

比如说我们要给其中一个按钮实现一个 点击弹窗的功能, 具体做法是,先自定义一个新的类myWindow,该类继承自QtWidgets.Qwidget类方法和Ui_Dialog界面类,在 __ init __ 函数里面定义初始化的信息。

import sys
from test import Ui_Form
from PyQt5.QtWidgets import QApplication, QDialog, QWidget
from PyQt5 import QtCore

# 子窗口类
class Child(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("我是子窗口啊")

# 该类继承QtWidgets.Qwidget类方法和Ui_Dialog界面类
class myWindow(QWidget, Ui_Form):
    _signal = QtCore.pyqtSignal(str)

    def __init__(self):
        super(myWindow, self).__init__()
        self.setupUi(self)
        # 连接到定义的槽函数
        self.pushButton.clicked.connect(self.popUpBox)

    # 定义一个槽函数用来弹出子窗口
    def popUpBox(self):
        self.child_window = Child()
        self.child_window.show()


if __name__ == '__main__':
    myapp = QApplication(sys.argv)
    myDlg = myWindow()
    # myUI = myDlg.Ui_Form()
    # myUI.setupUi(myDlg)
    myDlg.show()
    sys.exit(myapp.exec_())

效果如下,点击测试按钮1,弹出窗口界面。

在这里插入图片描述

到此这篇关于PyQt5+pycharm开发环境搭建的实现步骤(图文)的文章就介绍到这了,更多相关PyQt5+pycharm环境搭建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python plt.boxplot函数及其参数使用小结

    Python plt.boxplot函数及其参数使用小结

    plt.boxplot函数用于绘制箱线图,本文介绍了Python plt.boxplot函数及其参数使用小结,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • Python 和 JS 有哪些相同之处

    Python 和 JS 有哪些相同之处

    Python 是一门运用很广泛的语言,自动化脚本、爬虫,甚至在深度学习领域也都有 Python 的身影。下面通过本文给大家介绍Python 和 JS 有哪些相同之处,需要的朋友参考下吧
    2017-11-11
  • Python数据结构与算法中的队列详解(1)

    Python数据结构与算法中的队列详解(1)

    这篇文章主要为大家详细介绍了Python的队列,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Python 文件操作技巧(File operation) 实例代码分析

    Python 文件操作技巧(File operation) 实例代码分析

    python遍历文件夹和文件 perl分割路径和文件名
    2008-08-08
  • Python机器学习应用之基于LightGBM的分类预测篇解读

    Python机器学习应用之基于LightGBM的分类预测篇解读

    这篇文章我们继续学习一下GBDT模型的另一个进化版本:LightGBM,LigthGBM是boosting集合模型中的新进成员,由微软提供,它和XGBoost一样是对GBDT的高效实现,原理上它和GBDT及XGBoost类似,都采用损失函数的负梯度作为当前决策树的残差近似值,去拟合新的决策树
    2022-01-01
  • Python3+OpenCV实现简单交通标志识别流程分析

    Python3+OpenCV实现简单交通标志识别流程分析

    这篇文章主要介绍了Python3+OpenCV实现简单交通标志识别,主要思路是解析XML文档,根据<name>标签进行分类,如果是直行、右转、左转、停止就把它从原图中裁剪下来并重命名,感谢的朋友跟随小编一起看看示例代码
    2021-12-12
  • python re模块常见用法例举

    python re模块常见用法例举

    在本篇文章里小编给大家整理的是一篇关于python re模块常见用法例举内容,有兴趣的朋友们可以学习下。
    2021-03-03
  • python爬虫爬取淘宝商品信息

    python爬虫爬取淘宝商品信息

    这篇文章主要为大家详细介绍了python爬虫爬取淘宝商品信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • python 平衡二叉树实现代码示例

    python 平衡二叉树实现代码示例

    这篇文章主要介绍了python 平衡二叉树实现代码示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Django 博客实现简单的全文搜索的示例代码

    Django 博客实现简单的全文搜索的示例代码

    这篇文章主要介绍了Django 博客实现简单的全文搜索的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论