0422 网课P30 02自定义控件
项目名称-添加新文件-qt-设计师界面类(生成.h .cpp .ui)
ui中设计自己需要的功能(这里我设计了SSpinBox和Slider两个控件)
widget中使用自定义控件,拖拽一个widget,点击提升为,点击添加,点击提升
在Widget的ui中,使用刚才的自定义控件,选择一个widget,右键选择提升为:
提升完,右侧的类名会更改
好我们的控件已经自定义成功,现在给自动逸控件添加功能就好,添加信号和槽函数
实现功能,改变数字,滑动条跟着移动(信号槽的监听)
代码:
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);
connect(ui->spinBox,spSignal,ui->horizontalSlider,ui->horizontalSlider->setValue);
//QSlider移动,QSpinBox跟着移动
connect(ui->horizontalSlider,&QSlider::valueChanged,ui->spinBox,&QSpinBox::setValue);
}
效果展示:点击按钮,滑动条移动;移动滑动条,按钮数字改变