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 使用list和tuple+条件判断详解

    Python 使用list和tuple+条件判断详解

    这篇文章主要介绍了Python 使用list和tuple+条件判断详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Django接收post前端返回的json格式数据代码实现

    Django接收post前端返回的json格式数据代码实现

    这篇文章主要介绍了Django接收post前端返回的json格式数据代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 可用于监控 mysql Master Slave 状态的python代码

    可用于监控 mysql Master Slave 状态的python代码

    用于监控MySQL Master Slave 状态的python代码,有需要的朋友可以参考下
    2013-02-02
  • python smtplib发送带附件邮件小程序

    python smtplib发送带附件邮件小程序

    这篇文章主要为大家详细介绍了python smtplib发送带附件邮件小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 详解Python中dict与set的使用

    详解Python中dict与set的使用

    这篇文章主要介绍了详解Python中dict与set的使用,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08
  • Python脚本暴力破解栅栏密码

    Python脚本暴力破解栅栏密码

    在渗透测试当中,免不了要进行密码破解。本文通过好几种方法给大家介绍python密码破解,有通用脚本,FTP暴力破解脚本,SSH暴力破解,TELNET密码暴力破解,感兴趣的朋友一起学习吧
    2015-10-10
  • python实现自动登录

    python实现自动登录

    这篇文章主要为大家详细介绍了python实现自动登录,填充网页表单,从而自动登录WEB门户,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 使用 Python 实现微信消息的一键已读的思路代码

    使用 Python 实现微信消息的一键已读的思路代码

    利用python可以实现微信消息的一键已读功能,怎么实现呢?你肯定会想着很复杂,但是python的好处就是很多人已经把接口打包做好了,只需要调用即可,今天通过本文给大家分享使用 Python 实现微信消息的一键已读的思路代码,一起看看吧
    2021-06-06
  • Django基础知识与基本应用入门教程

    Django基础知识与基本应用入门教程

    这篇文章主要介绍了Django基础知识与基本应用,结合实例形式分析了Django框架基本的项目创建、启动、查看版本等操作,并结合一个简单的blog应用示例分析了Django的基本使用方法,需要的朋友可以参考下
    2018-07-07
  • Python编程基础之函数和模块

    Python编程基础之函数和模块

    这篇文章主要为大家介绍了Python函数和模块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12

最新评论