问题描述:如何设计自己定义的控件呢?
如上控件,加减左边QSpinBox控件的值右边 QSlider的滑动条也可以实现联动。
一.解决方案
1.首先创建一个带ui的widget的窗体。
2.在项目这里右键—>Add New—>选择Qt Qt设计师界面类,
选择Qt ,Qt设计师界面类,然后choose。
选择界面模版Wideht,然后下一步。
最后如图。
在mycustomcontroler.ui中组合自己的空间。
控件Spin Box 和Horizontal Slider
3.在主窗口中使用自定义控件
首先在widget的ui界面中添加一个widget控件,
右键添加的widget控件提升为
运行既可以看到自定义的控件。
4.进行滑条和设置SpinBox的联动
在mycustomcontroller的构造函数中在进行信号与槽的绑定。
My_custom_controller::My_custom_controller(QWidget *parent) :
QWidget(parent),
ui(new Ui::My_custom_controller)
{
ui->setupUi(this);
//滑动条与框进行绑定
void (QSpinBox:: *sdp)(int)=&QSpinBox::valueChanged;
connect(ui->spinBox,sdp,ui->horizontalSlider,&QSlider::setValue);
//框与滑动条进行绑定
//void (QSlider:: *abc)(int)=&QSlider::valueChanged;
connect(ui->horizontalSlider,&QSlider::valueChanged,ui->spinBox,&QSpinBox::setValue);
}
成功!!!