(九)自定义控件

当一个项目较多地用到一组控件,我们可以把这一组控件定义为一个控件使用。

比如:spin Box 和 horizontal Slider 经常可以一起使用

给新建类起个名字myslider

设计myslider.ui,然后就可以使用了

在mywidget.ui中使用

先拉一个widget容器

点击提升

运行就可以看得自定义控件

myslider.cpp

#include "myslider.h"
#include "ui_myslider.h"

MySlider::MySlider(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MySlider)
{
    ui->setupUi(this);
    ui->horizontalSlider->setMinimum(100);
    ui->horizontalSlider->setMaximum(200);
    ui->spinBox->setMinimum(100);
    ui->spinBox->setMaximum(200);
    void (QSpinBox::*sigSlid)(int val) = &QSpinBox::valueChanged;
    connect(ui->spinBox,sigSlid,ui->horizontalSlider,&QSlider::setValue);
    connect(ui->horizontalSlider,&QSlider::valueChanged,ui->spinBox,&QSpinBox::setValue);
}

MySlider::~MySlider()
{
    delete ui;
}
void MySlider::SetValue(int value)
{
    if(value > 0 && value < 100)
    {
        ui->spinBox->setValue(value);
    }
}

int MySlider::getValue()
{
    return ui->spinBox->value();
}
原文地址:https://www.cnblogs.com/xiangtingshen/p/10755517.html