欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【PyQt5】环境及项目配置

程序员文章站 2022-05-09 21:37:57
文章目录前言开发环境一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言PyQt5很早就用过,并写过几篇教程,在我CSDN博客里也能看到之前的内容,不过当时的我还是保留了一些内容,现在看来这不是一个很好的习惯,这段时间我需要用到PyQt写小程序,但在一开始就卡壳了,回头翻翻自己的文章,也没什么很大的收获,最后费了不少精力才解决,所以我想重启文章,也是一种记录。开发环境操作系统:Deepin V20(Debian10)IDE:PyCharm 2020.2Python版本:3.7...




一、前言

PyQt5很早就用过,并写过几篇教程,在我CSDN博客里也能看到之前的内容,不过当时的我还是保留了一些东西,现在看来这不是一个很好的习惯,这段时间我需要用到PyQt写小程序,但在一开始就卡壳了,回头翻翻自己的文章,也没什么很大的收获,最后费了不少精力才解决,所以我想重启文章,也是一种记录。


二、开发环境

  • 操作系统:Deepin V20(Debian10)
  • IDE:PyCharm 2020.2(Community Edition)
  • Python版本:3.7.3
  • PyQt版本:5.15.0

具体的下载安装这里就不过多赘述,这里就讲讲如何给自己的项目进行PyQt的配置。我的开发环境虽然是Linux,但由于软件、语言都具有跨平台的特性,所以可以相同。
PyCharm如果英文版用不惯想要汉化,可以去下载汉化包,虽然汉化不完全,但基本的汉化都有,为了保证文章的通用性,我就用英文版,其实真正用起来,上手了就没什么难的,真正操作的也就这么几个按键,建议用原版。


三、配置

1.创建工程

为了给开发有个干净的环境,不会因为项目的积累导致最后系统环境变得很杂乱,所以在一开始不要直接在命令行用pip下载Python库,我们在PyCharm里面用虚拟环境Venv将项目隔开来。

【PyQt5】环境及项目配置

2.配置PIP

由于我们使用了虚拟环境,所以在每个项目了都需要单独安装python库,这个安装直接在PyCharm里进行。软件默认是官方源,国内访问起来速度很慢,应此需要换成国内的pip源。
这里使用清华的pip源:
https://pypi.tuna.tsinghua.edu.cn/simple

按照此路径打开至设置界面:
File > Settings > Project > Python Interpreter

【PyQt5】环境及项目配置

点开上图红圈位置"+",进入库管理界面

【PyQt5】环境及项目配置

再点开上图红圈的"Manage Repositiories"

【PyQt5】环境及项目配置

最后把官方的源给删除,将清华源添加进去,然后确定之后,回到上个界面点下刷新就能看到清华源的库啦。

3.安装PyQt5及相关工具

在库管理界面搜索"pyqt5",安装下面2个库:“pyqt5”和"pyqt5-tools",如果安装失败了可以尝试换个姿势多试几次。

【PyQt5】环境及项目配置

4.配置PyQt5工具

安装完PyQt后,我们还需要配置一下工具,即QtDesigner和PyUic:

  • QtDesigner:可视化窗口开发工具
  • PyUic:将QtDesigner的ui文件转换成Python识别的py文件

来到以下路径:
File > Settings > Tools > External Tools
按下面两张图创建2个工具:

【PyQt5】环境及项目配置

QtDesigner的具体参数如下:
Program:$FileDir$/venv/bin/pyqt5designer
Arguments:$FileName$
Program:$FileDir$

【PyQt5】环境及项目配置

PyUic的具体参数如下:
Program:$FileDir$/venv/bin/pyuic5
Arguments:$FileName$ -o $FileNameWithoutExtension$.py
Program:$FileDir$

【PyQt5】环境及项目配置

这两个工具的具体使用,在下面Demo里进行演示。

5.Demo实操

要实现的功能如下:按下按钮,界面上的标签文字更改为"hello"
步骤如下:

【PyQt5】环境及项目配置

在External Tools里打开QtDesigner,我们就能进入设计器的界面。

【PyQt5】环境及项目配置

第一次打开可能会报错,因为我们写了参数,而此时什么文件都没有,忽略即可。

【PyQt5】环境及项目配置

我们新建一个Widget页面,这里有三类页面可选:MainWindow、Widget、Dialog,简单说明一下:

  • MainWindow:一般作为软件的主窗口,带有工具栏和状态栏。
  • Widget:一般用作子窗口,可以是一个软件里面的不同功能界面。
  • Dialog:一般用作对话窗口,临时弹出输入或确定一些内容之类的。

这里我们随便选一个就好啦,这里选Widget。
我们来看下整个QtDesigner的界面功能,如下图所示:

【PyQt5】环境及项目配置

从控件工具箱拖拽出一个label标签和pushbutton按钮进行布局,界面就完成里。

【PyQt5】环境及项目配置

接下去需要将按钮的信号和槽进行关联,这里的“信号”相当于田径比赛的信号枪发出信号,“槽”就是我们听到这个指定的信号之后会做出的反映,将信号和槽关联起来就能实现我按下按钮后触发预定的python函数。
点击下图红圈里的按钮进入关联界面:

【PyQt5】环境及项目配置

切换到界面后,鼠标按住按钮可以拖拽出一条线,可以直接连到label上进行关联,也可以拉到界面空白处,其实就是和谁关联的问题,如果不确定或者想实现更多的功能,你可以拖到界面空白处,我们都是可以在python里获取到的。

【PyQt5】环境及项目配置

随后就会弹出一个窗口,左半部分是对信号的选择,我这选择click(),也就是被按下的时候发送信号,有半部分没有内容,没关系,我们点Edit按钮,自己添加一个。

【PyQt5】环境及项目配置

最终创建了一个名为btn_clicked()的槽,这也是我们在python编程中对应函数的名字。

【PyQt5】环境及项目配置
【PyQt5】环境及项目配置

在点击OK按钮后,设计器右边自动就生成了信号与槽的内容,看一下也能大致理解其工作过程。

【PyQt5】环境及项目配置

至此界面设计部分全部完成,我将其保存在项目的根目录,命名为"myWindow.ui"。我们回到PyCharm,右击“myWindow.ui”找到“External Tools”里的Py2Uic,将"myWindow.ui"转换为"myWindow.py",打开"myWindow.py"也可以看到里面的内容。

【PyQt5】环境及项目配置

在软件编写的过程中,我们肯定会对界面不断进行添加、修改,所以ui文件肯定不能动,我们需要用另外的py文件来驱动,这里在"main.py"里进行编写,代码如下:

# Author:   斜影重阳xycy # Date:     2020.8.27 import sys from PyQt5 import QtWidgets from myWindow import Ui_Form class MyWin(QtWidgets.QMainWindow, Ui_Form): # 继承QtDesigner设计的界面 def __init__(self): # 类初始化 super().__init__() # 用父类的初始化方法来初始化继承的属性 self.setupUi(self) # UI初始化 def btn_clicked(self): # 定义槽函数 self.label.setText("Hello") # 改变label的文本属性 if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) myShow = MyWin() myShow.show() sys.exit(app.exec_()) 

然后点击右上角的运行绿色小三角,看看效果吧~

【PyQt5】环境及项目配置


四、总结

QT开发本身大大提高里我们的开发效率,现在借了Python的东风,更是降低了开发的门槛,例如QT本身自带了很多的数据类型,强大但有些复杂,我们就能用Python的数据类型来代替,强强联手,所向无敌。

本文地址:https://blog.csdn.net/gan19951101/article/details/108252137