QT自定义控件封装

QT自定义控件封装

1.概述

这篇文章介绍如何创建UI文件,通过自定义方式将两个控件联动起来,实现自定义功能。

2.创建UI文件

新建一个widget的普通项目,然后在项目名称上右键选择And New... 新建文件,然后选择QT 再选择Qt Designer Form Class
在这里插入图片描述
选择Widget 界面,点击下一步
在这里插入图片描述
给类起一个名字
在这里插入图片描述
点击下一步,点击完成。smallwidget.ui页面创建完成。
在这里插入图片描述

3.封装控件

1.添加控件

在smallwidget.ui页面添加 Spin boxhorizontalSlider 两个控件。
在这里插入图片描述

2.提升为控件

将我们自定义的smallwidget.ui控件提升为widget.ui的部件,也就是将我们自己创建的文件作为子文件添加到父文件中。

在这里插入图片描述
操作步骤如下
首先查看smallWidget的类型是什么,这里显示是QWidget
在这里插入图片描述

打开widget.ui文件,然后添加一个和smallWidget一样的类型的控件,也就是widget
在这里插入图片描述
widget控件上右键,选择Promote to 也就是提升为部件。
在这里插入图片描述
输入SmallWidget 类名称,点击 Global include ,点击Add,如下图将它提升为部件。
在这里插入图片描述

点击Promote,如下图
在这里插入图片描述
窗口右侧对象中变成了SmallWidget
在这里插入图片描述

2.自定义控件功能

smallWidget.cpp 文件中将两个控件进行关联,实现一个控件改变数值,另一个控件跟随改变数值。

#include "smallwidget.h"
#include "ui_smallwidget.h"SmallWidget::SmallWidget(QWidget *parent) :QWidget(parent),ui(new Ui::SmallWidget)
{ui->setupUi(this);//    QSpinbox移动,Qslider跟着移动void(QSpinBox:: *spSignal)(int) = &QSpinBox::valueChanged;connect(ui->spinBox, spSignal, ui->horizontalSlider, &QSlider::setValue);//    Qslider移动,QSpinbox跟着移动connect(ui->horizontalSlider, &QSlider::valueChanged, ui->spinBox, &QSpinBox::setValue);}SmallWidget::~SmallWidget()
{delete ui;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/60477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

王鹤棣演唱会即将泰国开唱,从原点走向未来,兑现与粉丝之约

对喜爱王鹤棣的粉丝来说,12月28日注定是个令人激动的日子,因为这天,王鹤棣即将在泰国曼谷举办D.Party演唱会,这一消息一经官宣,便引发大量中国以及东南亚地区粉丝欢呼,大家对王鹤棣此次演唱会表现出超常热情…

游戏引擎学习第五天

这节貌似没讲什么 视频参考:https://www.bilibili.com/video/BV1Gmm2Y5EwE/ uint8 *A somewhere in memory; uint8 *B somewhere in memory;//BEFORE WE GOT TO HERE int Y *B; // whatever was actually there before the 5 *A 5; int X *B; // 5 //Obviously! Y and …

<项目代码>YOLOv7 草莓叶片病害识别<目标检测>

YOLOv7是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv7具有更高的…

stm32 ADC实例解析(3)-多通道采集互相干扰的问题

文章目录 一、问题现象:二、原因分析:1、测量值不准问题分析:2、采样干扰问题分析 三、解决办法:1、硬件:(1)、电源供电(2)、引脚电容(3)、减少采…

[SaaS] 数禾科技 AIGC生成营销素材

https://zhuanlan.zhihu.com/p/923637935https://zhuanlan.zhihu.com/p/923637935

android studio 轮询修改对象属性(修改多个textview的text)

android studio版本:23.3.1 例程名称:loopsettextviewtext 这几天在帮一个朋友做个数独小游戏,如下图: 要可以玩自定义游戏,点击清空后,所以数字要清除。 要把所有的内容清空,一共有81个text…

PIC16F648A-I/SS 8位微控制器 -MCU 微芯 PIC16F648AT-I/SS 8位微控制器 -MCU 完全可替代PIC16F648

在这种情况下,微芯PIC16F627A-I/SS可以被视为是微芯PIC16F648AT-I/SS的一个兼容替代品。它们具有相似的功能和特性,包括相同的8位MCU架构、相似的存储器大小和RAM大小,以及相似的输入/输出端口数量。因此,如果您需要替换PIC16F648…

Linux(CentOS)项目总结(前后端分离)

项目情况: 前端开发:vue3 vite ts VSCode后端开发:JDK17 Spring Boot 3 Mybatis Maven IDEA数据库:MySQL8.4.3 SQLyog代码管理:Git虚拟环境:VMware远程登录:FinalShell服务器操作系统&…

C# 选择文件夹路径

通过C#代码,调出windows风格的文件夹选择框。提供界面来选择指定文件夹,并将文件夹完整路径以字符串形式返回。 示例: 代码: #region 选择指定文件夹 string folderPath ""; FolderBrowserDialog folderBrowserDialo…

容器docker的ulimit

Ulimit 在linux里ulimit命令可以对shell生成的进程的资源进行限制。 常用的ulimit限制 打开文件句柄数core文件大小设置进程能够消耗的虚拟内存设置用户能够打开的进程数目 不太常用的ulimit限制 设置数据段的最大值.单位:kbytes 设置创建文件的最大值.单位:blocks 设置在…

unity3d————协程原理讲解

1.协程的本质 协程可以分成两部分1.协程函数本体 2.协程调度器 协程本体就是一个能够中间暂停返回的函数 协程调度器是Unity内部实现的,会在对应的时机帮助我们继续执行协程函数 Unity只实现了协程调度部分协程的本体本质上就是一个 C#的迭代器方法 2.协程本体是…

丹摩征文活动|CogVideoX-2b:从0到1,轻松完成安装与部署!

丹摩征文活动 | CogVideoX-2b:从0到1,轻松完成安装与部署! CogVideoX 介绍 CogVideoX的问世,标志着视频制作技术迈入了一个全新的时代。它不仅打破了传统视频制作在效率与质量之间的平衡难题,还通过其先进的3D变分自…

vite构建的react程序放置图片

在 Vite 中,将图片放置在 public 文件夹中可以直接使用相对路径(如 /logo.png)的原因主要与 Vite 的构建和资源处理方式有关。以下是详细的解释: 1. 公共访问性 public 文件夹中的文件在构建过程中不会被 Vite 处理或哈希化。这…

大模型拒绝采样

2402.10038 (arxiv.org) 对每一个提示词xi生成k个响应,然后从k个响应中选择2个响应对(yil, yij),计算两者的回报(reward)差值,如果差值大于阈值η(超参数),就…

知识库搭建|员工培训的效率利器

在企业的快速发展过程中,知识库的搭建成为了提升员工培训效率的关键一环。一个高效的知识库不仅能够为员工提供便捷的学习资源,还能促进知识的持续积累和传承。本文将探讨如何借助知识库工具,来提升员工培训的效率。 一、知识库在员工培训中…

OneRestore: A Universal Restoration Framework for Composite Degradation 论文阅读笔记

这是武汉大学一作单位的一篇发表在ECCV2024上的论文,文章代码开源,文章首页图如下所示,做混合图像干扰去除,还能分别去除,看起来很牛逼。文章是少见的做混合图像干扰去除的,不过可惜只包含了3种degradation…

C#程序开发,检测当前电脑已经安装的软件目录

在Windows中使用C#做软件开发&#xff0c;有时候需要获取当前系统中已安装的软件及其版本号&#xff0c;接下来就简单介绍一下&#xff0c;如何通过C#获取来实现。 1、通过注册表 public List<PcSoftinfo> GetAllInstalledSoftware(string name) {var keys new Regist…

C++ 23的格式化输出

C23 引入了一些新的功能和改进&#xff0c;其中与格式化输出相关的主要变化是对 <format> 库&#xff08;也称为 C20 的标准库格式化功能&#xff09;的进一步支持和可能的增强。C20 已经引入了 <format> 库&#xff0c;提供了一个强大的、类型安全的字符串格式化功…

系统架构设计师论文:论系统安全架构设计及其应用

试题二:论系统安全架构设计及其应用 信息安全的特征是为了保证信息的机密性、完整性、可用性、可控性和不可抵赖性。信息系统的安全保障是以风险和策略为基础,在信息系统的整个生命周期中提供包括技术、管理、人员和工程过程的整体安全,在信息系统中保障信息的这些安全特征…

2024最新版JavaScript逆向爬虫教程-------基础篇之Proxy与Reflect详解

目录 一、监听对象的操作二、Proxy基本使用2.1 创建空代理2.2 定义捕获器2.2.1 Proxy的set和get捕获器2.2.2 Proxy(handler)的13个捕获器 三、Reflect的作用3.1 Reflect的使用3.2 Reflect其余方法(9个)3.3 Proxy与Reflect中的receiver参数3.4 Reflect中的construct方法 ECMAScr…