PyQT5快速制作简易的工具界面
一、前言
最近在整合一些逆向工具,方便使用,但是很多都是一些jar包等,想想还是自己写一个简易的界面,于是总结了一下半天的笔记心得
二、实验步骤
1.调研
好久没有画界面。有些遗忘了,到还是记得用QT制作界面,于是咨询了一下ChatGPT
ChatGPT很快提供了一段代码,然后将这段代码在Pycharm中运行,得到了一个巨丑的界面
当然这个界面,可以进一步请教ChatGpt进行优化,不过很显然没有这个耐心
于是又向ChatGPT询问,有无可以画界面的工具,并且可以直接用python调用界面
很显然得到了我想要的答案,Qt Designer用于画界面,然后功能代码再通过python代码实现,确定好思路后,就可以开始工作了
这里的安装,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就在器工具里面
安装过程中,如果安装缓慢,可以使用pip调用清华源进行安装
安装好之后在Python安装目录下面能够找到designer.exe,这里和网上的帖子不一样,有的说在下面路径下,但是并没有
这里也有对安装PyQt5时缺少designer.exe的解决办法:https://blog.csdn.net/sinat_21427221/article/details/77448857
后来发现在.python\Lib\site-packages\qt5_applications\Qt\bin 目录下可找到designer.exe
这里也可以直接全局搜索
(2)配置
然后开始依次配置环境,这里可以直接在Pycharm里面添加工具: Designer+Pyuic5+PyRcc
Designer:
详细配置如下:
1 2 3 4 | Description: QtDesigner
Program: QtDesigner的路径
Arguments: 空
Working directory: $FileDir$ (直接复制粘贴,或点击按钮“Insert macro…” 选择对用文件)
|
Pyuic5:
详细配置如下:
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:
详细配置如下:
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中的扩展工具多了这三个
3.Designer使用
(1)基础搭建
我们直接在Pycharm中打开designer,这里可以参考QT的使用:
https://www.cnblogs.com/linyfeng/p/11223707.html
http://shouce.jb51.net/qt-beginning/9.html
然后可以创建主程序窗口
左边的控件比较简单,这里大家基本看一下就懂了,这里开始画一个登录界面
然后我们ctrl+a、ctrl+i进行处理,这里快速就保持水平
我们可以选择控件,修改样式表,这里可以调颜色、字体、大小等
(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>
|
然后在资源管理器中添加资源
这样就添加成功了,接着我们修改样式表,把图片添加到背景色
此时我们还需要在画布上加一个View组件,这是为了防止对我们其中组件进行影响
再将其放到下层:
此时我们修改样式,设置背景图片为资源图片,就可以添加背景了
这里就完成了界面的制作,然后我们将界面保存导出.ui文件
4.Pyuic5的使用
我们需要将ui文件转换为py文件,来进行调用,这里我们直接使用pyuic5工具
这里我们就导出了py文件
5.PyRcc使用
但是此时还无法直接加载ui文件,因为里面包含资源文件,这里我们使用pyRcc进行处理
将我们前面编写的配置文件转换为py文件,这样就可以进行使用
6.功能代码实现
我们再次问ChatGPT让其给一个简易的功能调用代码给我们
这里注意需要导入我们的资源配置文件,这样背景才能显示出来
然后就是和ChatGPT对话,让其绑定按钮,输入框,直接调用代码即可,可以达到你的需求,结果显示
三、实验总结
总是简单总结了下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期)