自定义控件
#include "SmallWidget.h"
#include <QHBoxLayout>
#include <qspinbox.h>
#include <qslider.h>
SmallWidget::SmallWidget(QWidget *parent)
: QWidget(parent)
{
QSpinBox* spin = new QSpinBox(this);
QSlider* slider = new QSlider(Qt::Horizontal,this);
QHBoxLayout* hlayout = new QHBoxLayout(this);
hlayout->addWidget(spin);
hlayout->addWidget(slider);
//static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged)是对QSpinBox的valueChanged信号的静态类型转换
//信号带有一个整型参数,表示新的值。这里使用static_cast来确保传递给connect函数的信号参数类型正确
connect(spin,static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
slider,
&QSlider::setValue
);
connect(slider,&QSlider::valueChanged,spin,&QSpinBox::setValue);
}
SmallWidget::~SmallWidget()
{}
提升
效果