首页
社区
课程
招聘
[原创]PyQT5快速制作简易的工具界面
发表于: 2023-2-23 13:32 9646

[原创]PyQT5快速制作简易的工具界面

2023-2-23 13:32
9646

PyQT5快速制作简易的工具界面

目录

一、前言

最近在整合一些逆向工具,方便使用,但是很多都是一些jar包等,想想还是自己写一个简易的界面,于是总结了一下半天的笔记心得

二、实验步骤

1.调研

好久没有画界面。有些遗忘了,到还是记得用QT制作界面,于是咨询了一下ChatGPT

 

image-20230221154349082

 

ChatGPT很快提供了一段代码,然后将这段代码在Pycharm中运行,得到了一个巨丑的界面

 

image-20230221154517194

 

当然这个界面,可以进一步请教ChatGpt进行优化,不过很显然没有这个耐心

 

于是又向ChatGPT询问,有无可以画界面的工具,并且可以直接用python调用界面

 

image-20230221154701606

 

很显然得到了我想要的答案,Qt Designer用于画界面,然后功能代码再通过python代码实现,确定好思路后,就可以开始工作了

 

image-20230221154814027

 

这里的安装,ChatGPT就有些不够精确,于是我们开始google进行环境搭建

2.环境搭建

经过10分钟调研,我们可以确定一个思路,就是这次实验可能需要三个工具:Qt Designer+Pyuic5+PyRcc,其中第Qt Designer这个是用来画界面,Pyuic5是将画好的界面转换为py文件进行调用,PyRcc则是将界面中的资源文件(例如背景图)转码为py文件

 

参考文章:https://blog.csdn.net/weixin_43593086/article/details/101001850

 

安装这些工具,首先需要有python和pip的环境,这里觉得麻烦的可以直接安装conda,这里我们直接使用Pycharm更加方便

 

(1)PyQT5和PyQT5-tools安装

 

直接在Pycharm中进行安装即可,designer就在器工具里面

 

image-20230221155733041

 

安装过程中,如果安装缓慢,可以使用pip调用清华源进行安装

 

安装好之后在Python安装目录下面能够找到designer.exe,这里和网上的帖子不一样,有的说在下面路径下,但是并没有

 

image-20230221155915221

 

这里也有对安装PyQt5时缺少designer.exe的解决办法:https://blog.csdn.net/sinat_21427221/article/details/77448857

 

后来发现在.python\Lib\site-packages\qt5_applications\Qt\bin 目录下可找到designer.exe

 

image-20230221160112936

 

这里也可以直接全局搜索

 

(2)配置

 

然后开始依次配置环境,这里可以直接在Pycharm里面添加工具: Designer+Pyuic5+PyRcc

 

Designer:

 

image-20230221160345546

 

详细配置如下:

1
2
3
4
Description: QtDesigner
Program: QtDesigner的路径
Arguments: 空
Working directory: $FileDir$ (直接复制粘贴,或点击按钮“Insert macro…” 选择对用文件)

Pyuic5:

 

image-20230221160506384

 

详细配置如下:

1
2
3
4
Description: convert .ui to .py
Program: C:\Python\Scripts\pyuic5.exe(对应pyuic5.exe的路径)
Arguments: $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$ (直接复制粘贴,或点击按钮“Insert macro…” 选择对用文件)

PyRcc:

 

image-20230221160636683

 

详细配置如下:

1
2
3
4
Description: convert resouces to .py
Program: C:\Python\Scripts\pyrcc.exe(对应pyrcc.exe的路径)
Arguments: $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$ (直接复制粘贴,或点击按钮“Insert macro…” 选择对应文件)

最后我们可以看见Pycharm中的扩展工具多了这三个

 

image-20230221160815550

3.Designer使用

(1)基础搭建

 

我们直接在Pycharm中打开designer,这里可以参考QT的使用:

 

https://www.cnblogs.com/linyfeng/p/11223707.html

 

http://shouce.jb51.net/qt-beginning/9.html

 

image-20230221161010615

 

然后可以创建主程序窗口

 

image-20230221161319404

 

左边的控件比较简单,这里大家基本看一下就懂了,这里开始画一个登录界面

 

image-20230221161649937

 

然后我们ctrl+a、ctrl+i进行处理,这里快速就保持水平

 

我们可以选择控件,修改样式表,这里可以调颜色、字体、大小等

 

image-20230221161758068

 

(2)添加背景

 

然后我们想添加背景,这里需要加入资源文件

 

参考文章:https://developer.aliyun.com/article/839830

 

首先制作.qrc文件,这是我们可以添加的文件,里面内容存放我们的图片,这里路径可以相对路径,也可以绝对路径,我们把其都放在工程目录下

1
2
3
4
5
6
7
8
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource prefix="/">
    <file>pic1.png</file>
    <file>pic2.png</file>
 
</qresource>
</RCC>

然后在资源管理器中添加资源

 

image-20230221162112061

 

image-20230221162137631

 

image-20230221162150248

 

这样就添加成功了,接着我们修改样式表,把图片添加到背景色

 

此时我们还需要在画布上加一个View组件,这是为了防止对我们其中组件进行影响

 

image-20230221162314469

 

再将其放到下层:

 

image-20230221162333197

 

此时我们修改样式,设置背景图片为资源图片,就可以添加背景了

 

image-20230221162426528

 

image-20230221162433753

 

image-20230221162444506

 

这里就完成了界面的制作,然后我们将界面保存导出.ui文件

4.Pyuic5的使用

​ 我们需要将ui文件转换为py文件,来进行调用,这里我们直接使用pyuic5工具

 

image-20230221162831305

 

image-20230221162907418

 

这里我们就导出了py文件

5.PyRcc使用

但是此时还无法直接加载ui文件,因为里面包含资源文件,这里我们使用pyRcc进行处理

 

image-20230221163047501

 

将我们前面编写的配置文件转换为py文件,这样就可以进行使用

6.功能代码实现

我们再次问ChatGPT让其给一个简易的功能调用代码给我们

 

image-20230221163337513

 

这里注意需要导入我们的资源配置文件,这样背景才能显示出来

 

image-20230221163419505

 

然后就是和ChatGPT对话,让其绑定按钮,输入框,直接调用代码即可,可以达到你的需求,结果显示

 

image-20230221163521709

三、实验总结

总是简单总结了下PyQT5快速制作界面过程,这个过程中ChatGPT极大的提高了工作效率,以后感觉工作中快离开不了

四、参考文献

1
2
3
4
https://blog.csdn.net/weixin_43593086/article/details/101001850
https://blog.csdn.net/sinat_21427221/article/details/77448857
https://www.cnblogs.com/linyfeng/p/11223707.html
http://shouce.jb51.net/qt-beginning/9.html

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 5165
活跃值: (9677)
能力值: ( LV9,RANK:181 )
在线值:
发帖
回帖
粉丝
2
这开发是真的快!!!爽YY!
2023-2-24 19:10
0
雪    币: 7201
活跃值: (21965)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
3
nevinhappy 这开发是真的快!!!爽YY!
确实 大大加快了开发速率
2023-2-24 21:04
0
游客
登录 | 注册 方可回帖
返回
//