Qt自定义控件

1  简介

参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=26

https://www.cnblogs.com/mrlayfolk/p/13179885.html的基础上,实现一个自定义的控件。

最终效果如下,我们使用代码来实现这两个控件。

注:ui的控件和自定义控件的父类(基类)要一样。

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。

posted @ 2020-06-23 21:07  zhengcixi  阅读(666)  评论(0编辑  收藏  举报
回到顶部