QT学习笔记--自定义控件封装

添加新文件(创建新的ui)

QT->设计师界面类

ui中设计控件

Widget中使用自定义控件:拖拽widget->右键->提升为->写自定义控件类名,点击添加->提升

实现功能

#include "smallwidget.h"
#include "ui_smallwidget.h"

smallWidget::smallWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::smallWidget)
{
    ui->setupUi(this);
    //QSpinBox移动,QSlider跟着移动
    for(int i=0;i<=100;i+=10)
    {
        ui->comboBox->addItem(QString::number(i));//将数值转为QString
    }
    void(QSpinBox:: * signal)(int) = &QSpinBox::valueChanged;//valueChanged发生重载,需要用函数指针
    connect(ui->spinBox, signal, ui->horizontalSlider, &QSlider::setValue);
    connect(ui->horizontalSlider, &QSlider::sliderMoved, ui->spinBox, &QSpinBox::setValue);
    //设置值
    connect(ui->comboBox, &QComboBox::currentTextChanged, this, [=](QString text){
        ui->spinBox->setValue(text.toInt());//将值设置
        ui->horizontalSlider->setValue(text.toInt());
    });
    //获取值
    connect(ui->getvalue, &QPushButton::clicked, this, [=](){
        qDebug()<<ui->spinBox->value();
    });

}

smallWidget::~smallWidget()
{
    delete ui;
}

void smallWidget::setValue(int num)
{
    ui->spinBox->setValue(num);
    ui->horizontalSlider->setValue(num);
}

int smallWidget::getValue()
{
    return ui->spinBox->value();
}

QString::number(s)//将数字转为字符串

QString.toInt()//将字符串转数字

界面如下:

 可以通过下拉框或者点击按钮来设置值

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值