Qt自定義控制項

1  簡介

參考影片://www.bilibili.com/video/BV1XW411x7NU?p=26

//www.cnblogs.com/mrlayfolk/p/13179885.html的基礎上,實現一個自定義的控制項。

最終效果如下,我們使用程式碼來實現這兩個控制項。

2  實現過程

1)先新建一個文件,用來存放自定義控制項的程式碼。我取名為smallwidge,會產生兩個文件smallwidge.h和smallwidget.cpp。我們只需要改變smallwidge.cpp中的程式碼:

smallwidge.cpp的程式碼如下:

 1 smallWidge::smallWidge(QWidget *parent) : QWidget(parent)
 2 {
 3     //創建一個微調框
 4     QSpinBox *spin = new QSpinBox(this);
 5     //創建一個滑條
 6     QSlider *slider = new QSlider(Qt::Horizontal, this);
 7     //把控制項添加到布局中
 8     QHBoxLayout *hlayout = new QHBoxLayout(this);
 9     //水平布局
10     hlayout->addWidget(spin);
11     hlayout->addWidget(slider);
12     //訊號與槽
13     connect(spin, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), slider, &QSlider::setValue);
14     connect(slider, &QSlider::valueChanged, spin, &QSpinBox::setValue);
15 }

2)接著我們在ui介面將我們自定義的控制項添加進去。

可以看到,當我點擊了「提升為」之後,widget_4繼承的類變成了我自定義的類smallWidge。