QT学习笔记-自定义控件

本文展示了如何在Qt环境中创建一个自定义控件,该控件包含一个QSpinBox和一个QSlider,并将它们放入水平布局中。通过信号和槽机制,实现了这两个组件之间的值改变同步。在UI界面中,将控件提升为自定义类,完成交互功能的显示。
摘要由CSDN通过智能技术生成

首先对加入的控件进行基本布局
在这里插入图片描述

界面共有四个共有四个QWidget,进行水平布局
在这里插入图片描述
其中最后一个控件为自定义控件

首先在项目中新建一个类控件继承于QWidget
在这里插入图片描述

在这里插入代码片
#include "smallwidget.h"
#include <QSpinBox>
#include <QSlider>
#include <QHBoxLayout>

SmallWidget::SmallWidget(QWidget *parent) : QWidget(parent)
{

    QSpinBox *spin=new QSpinBox();
    QSlider *slider =new QSlider(Qt::Horizontal,this);

    //把控件添加到布局中
    QHBoxLayout *hLayout= new QHBoxLayout(this);
    hLayout->addWidget(spin);
    hLayout->addWidget(slider);
    connect(spin,static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),slider,&QSlider::setValue);
    connect(slider,&QSlider::valueChanged,spin,&QSpinBox::setValue);
    //编写完成程序后还需要在ui界面中把widget提升为关联的新建的类名。就可以显示出编写的函数界面
}

ui界面的操作为:在widget右键选择“提升为”
在这里插入图片描述
添加自定义的类名名称,点击:添加-提升
在这里插入图片描述
其中connect为自定义控件中两个小组件的相互关联函数
由于函数重载,函数名一样,参数类型不同,需要进行强制类型转换。
强制类型转换方式为

static_cast<void(QSpinbox::*)(int)>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值