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环境搭建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用numpy转换成cupy利用GPU执行错误

    使用numpy转换成cupy利用GPU执行错误

    在使用PyInstaller打包Python程序时,可能会遇到缺少模块的错误,尤其是在将Numpy转换为CuPy以利用GPU加速时,如果遇到ModuleNotFoundError,表明PyInstaller没有包含一些隐式导入的包,解决方法是手动将缺失的包添加到打包目录中
    2024-09-09
  • 使用Python+Flask开发博客项目并实现内网穿透

    使用Python+Flask开发博客项目并实现内网穿透

    Flask是一个使用python编写的轻量级Web框架,这篇文章我们将使用这个框架编写一个属于自己的博客网站!并教你如何通过使用内网穿透工具处理项目,让本地的项目可以在公网访问,感兴趣的可以了解一下
    2021-11-11
  • Python中eval()函数的详细使用教程

    Python中eval()函数的详细使用教程

    eval函数在Python中具有非常重要的地位,熟练的使用eval函数能够为我们的Python编程提供很多的便利之处,下面这篇文章主要给大家介绍了关于Python中eval()函数的详细使用,需要的朋友可以参考下
    2022-07-07
  • 在Python中用split()方法分割字符串的使用介绍

    在Python中用split()方法分割字符串的使用介绍

    这篇文章主要介绍了在Python中用split()方法分割字符串的使用介绍,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python使用HTTP POST上传WAV文件的方法

    Python使用HTTP POST上传WAV文件的方法

    Python是一个非常流行的编程语言,可以用于开发不同类型的应用程序。其中,上传文件是一个非常常见的需求。具体而言,我们探讨了使用HTTP POST请求上传单个和多个WAV文件的方法。无论你是需要将音频文件上传到云存储还是服务器,这些方法都能帮助你上传文件。
    2023-06-06
  • 如何利用OpenCV进行特征(颜色、形状)提取

    如何利用OpenCV进行特征(颜色、形状)提取

    特征提取是降维过程的一部分,其中原始数据的初始集被划分并减少到更易于管理的组,这篇文章主要给大家介绍了关于如何利用OpenCV进行特征(颜色、形状)提取的相关资料,需要的朋友可以参考下
    2022-05-05
  • Python答题卡识别并给出分数的实现代码

    Python答题卡识别并给出分数的实现代码

    本文带领大家学习Python答题卡识别并给出分数的实现代码,代码实现思路清晰,简单易懂,Python识别答题卡相关知识感兴趣的朋友一起看看吧
    2021-06-06
  • 零基础写python爬虫之抓取糗事百科代码分享

    零基础写python爬虫之抓取糗事百科代码分享

    前面我们介绍了如何抓取百度贴吧文章,然后讲解了python的神器正则表达式,下面,我们就把2者结合起来,详细介绍下,如何来抓取到糗事百科里面的指定内容
    2014-11-11
  • python实现自动发送邮件

    python实现自动发送邮件

    这篇文章主要为大家详细介绍了python实现自动发送邮件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 现代Python编程的四个关键点你知道几个

    现代Python编程的四个关键点你知道几个

    这篇文章主要为大家详细介绍了Python编程的四个关键点,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02

最新评论