QT学习笔记(8) QT中的控件
自定义控件
首先建立C++文件,
然后再构造函数中逐步构造自定义的控件
在ui中,在界面上放置一个Widget,然后右击,提升为想要的控件。
注意:此处的提升必须是父类提升到其子类。如果没有继承关系则不能提升。
示例代码如下:
#include "smallwidget.h" #include <QSpinBox>//微调器 #include <QSlider>//滑条 #include <QHBoxLayout>//水平布局 //自定义控件 SmallWidget::SmallWidget(QWidget *parent) : QWidget(parent) { //声明并实例化控件 QSpinBox *spin = new QSpinBox(this); QSlider *slider = new QSlider(Qt::Horizontal,this); //设置布局 QHBoxLayout *hLayout = new QHBoxLayout; //把控件添加到布局中 hLayout->addWidget(spin); hLayout->addWidget(slider); setLayout(hLayout); //valueChanged有重载,我们需要进行强制类型转换 connect(spin,static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), slider,&QSlider::setValue); connect(slider,&QSlider::sliderMoved,spin,&QSpinBox::setValue); }