宽幅图像目标检测(一)---QtDesigner设计界面

#记录本人学习过程。如果有幸对你有帮助,倍感荣幸

本系列将分四个篇章由易到难对项目进行拆解,分为(一)设计界面,(二)图像拼接,(三)图像检测,(四)硬件测试。

一、相关简介

界面设计时使用 QtDesigner 软件搭配 Python的Pyqt5库进行界面设计和功能实现。QtDesigner是一款基于 Qt 框架的图形用户界面设计工具,它可以用于快速地设计和开发界面。QtDesigner 提供了丰富的界面组件,能够满足不同的需求,例如按钮、文本框、下拉框、表格等。可以通过简单的拖拽操作,将这些组件拖拽到界面上,并进行布局和设置属性等操作,从而快速地设计出自己的界面。
在安装完pyqt5之后是无法直接打开QtDesigner相关的应用窗口来进行拖动化的界面设计,需要手动添加外部拓展工具QtDesigner和PyUIC。
使用QtDesigner中设计好图形化界面后,会默认保存为.ui文件,如果想进一步自定义一些功能则需要先通过PyUic来把.ui文件转化为.py文件再进行相关代码的编写。

以下为操作步骤

二、Pycharm配置QtDesigner

文件-设置-工具-外部工具

点击加号打开编辑工具

1.名称:QtDesigner(可自定义)
2.程序:输入designer.exe的路径
3.工作目录:$ProjectFileDir$

程序可在工程文件目录中找到,将designer.exe(venv-scripts-designer.exe)的安装路径复制.

注:配置完成后一定要确定

三、Pycharm配置PyUIC

步骤与配置QtDesigner相同

1.名称:PyUIC(可自定义)
2.程序:输入pyuic5.exe的路径
3.实参:$FileName$ -o $FileNameWithoutExtension$.py
4.工作目录:$FileDir$

pyuic的路径也在Scripts/路径里

四、基本使用方法

1.打开QtDesigner

通过工具-External tools打开QtDesigner出现新建窗体界面。

可以看到主要有三种类型的窗口:

Main Window:可以包含菜单栏、工具栏、状态栏和标题栏,是最常见的窗口形式
Dialog:是对话窗口的基类。没有菜单栏、工具栏、状态栏。
Widget:不确定窗口的用途,就使用QWidget

2.常用控件

QLabel : 用于显示文本和图像。它可以用于显示静态文本和图像,并支持多种格式的文本和图像的显示
QWidget Qt 中所有用户界面控件的基类,它提供了一组通用的控件功能,例如窗口管理、布局、事件处理和焦点管理等;
QComboBox : 用于创建下拉框。它可以用于让用户从多个选项中选择一个;
QGroupBox : 用于创建分组框,它可以用于将相关的控件组合在一起,并以框的形式进行显示,方便用户对这些控件进行操作;
QCheckBox : 用于创建复选框,它可以用于让用户选择一些选项或者进行多选操作;
QLineEdit : 用于创建单行文本编辑框,它可以用于让用户输入文本信息;
QPushButton : 用于创建按钮,它可以用于响应用户的点击操作;
QFrame : 用于创建框架,它可以用于创建边框、线条等效果,同时也可以用于作为布局容器来管理其他控件;
QRadioButton : 用于创建单选框。
可以参考PyQt官网的所有模块,地址: Modules — PyQt Documentation v5.15.7

3.控件基本用法

根据设计需求直接从左侧控件列表中拖出相应的布局方式
效果如下所示
选中的控件可以直接拖拉调整尺寸和大小,也可以通过属性编辑器可以直接设置控件坐标尺寸,以及最大最小尺寸等属性。
在配置样式表的时候可以使用一些ai帮忙,配置的很快
附部分样式表代码供参考
#groupBox_2{
color:rgb(0, 0, 0);
border-width:4px;
border-style:solid;
border-color:white;
border-radius:10px;
margin-top:5ex;
}

QGroupBox::title
{
subcontrol-origin:margin;
subcontrol-position:top center;
padding:0;
color:white;
}
border-radius:10px;
border:5px solid rgb(255, 255, 255);
color:rgb(255, 255, 255);

4.信号与槽

信号:其实就是事件(按钮点击、内容发生改变)或者是状态(check选中了,togglebutton切换)

当程序触发了某种状态或者发生了某种事件(比如:按钮被点击了,内容改变等等),那么即可发射出来一个信号。

槽:若想捕获这个信号,然后执行相应的逻辑代码,那么就需要使用到槽,槽实际上是一个函数,当信号发射出来后,会执行与之绑定的槽函数

使用QtDesigner就可以对信号与槽进行设置,但因为界面是要与其他功能进行交互的,使用QtDesigner会导致功能受限,所以建议将设计好的界面文件转换为python代码,再使用python实现功能的绑定

5.UI转py

右键ui文件在External Tools中点击之前配置好的PyUIC就可以生成py.文件了

生成完py文件后根据需求实现功能绑定

  • 35
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值