学过的东西很久不用都已经忘记了,即使是很简单的事情
1、添加一个Qt 设计师界面类


如何将这个放到比较好看并且是居中的呢?
布局--》水平-》竖直
点击大的widget 不是这两个控件
2、在主窗口中添加一个widget 来加载上面我们已经拿到组合控件

3、将这个widget提升为

之后了我们验证一下这个是不是成功,直接运行程序:

如果出现这样就说明加载成功这个自定义控件了
4、我们需要让这个自定义控件来实现相互显示;
- // 设计 数字改变的时候 滑动块移动到对应的位置
- void(QSpinBox:: * singlespinBox)(int)=&QSpinBox::valueChanged;
- connect(ui->sBox,singlespinBox,ui->horizontalSlider,&QSlider::setValue);
测试一下:
5、获得slider 上面的值
- // 数字随着slider 的滑动而改变数值
- connect(ui->horizontalSlider,&QSlider::valueChanged,ui->sBox,&QSpinBox::setValue);
测试一下:

6、我们需要在主窗口分别设置get 和set 的功能
在smallwidget 中写两个函数
- #ifndef SMALLWIDGET_H
- #define SMALLWIDGET_H
-
- #include
-
- namespace Ui {
- class smallwidget;
- }
-
- class smallwidget : public QWidget
- {
- Q_OBJECT
-
- public:
- explicit smallwidget(QWidget *parent = nullptr);
- ~smallwidget();
-
- int getNumber();
- void setNUber();
-
- private:
- Ui::smallwidget *ui;
- };
-
- #endif // SMALLWIDGET_H


代码:
smallwidget
- #include "smallwidget.h"
- #include "ui_smallwidget.h"
-
- smallwidget::smallwidget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::smallwidget)
- {
- ui->setupUi(this);
- // 设计 数字改变的时候 滑动块移动到对应的位置
- void(QSpinBox:: * singlespinBox)(int)=&QSpinBox::valueChanged;
- connect(ui->sBox,singlespinBox,ui->horizontalSlider,&QSlider::setValue);
-
-
- // 数字随着slider 的滑动而改变数值
- connect(ui->horizontalSlider,&QSlider::valueChanged,ui->sBox,&QSpinBox::setValue);
- }
-
- smallwidget::~smallwidget()
- {
- delete ui;
- }
-
- int smallwidget::getNumber()
- {
- return ui->sBox->value();
- }
-
- void smallwidget::setNUber(int num)
- {
- ui->sBox->setValue(num);
- }
Widget
- #include "widget.h"
- #include "ui_widget.h"
- #include
- Widget::Widget(QWidget *parent)
- : QWidget(parent)
- , ui(new Ui::Widget)
- {
- ui->setupUi(this);
-
- //获得功能
- connect(ui->getBtn,&QPushButton::clicked,[=](){
- qDebug()<< ui->mywidget->getNumber();
- });
-
- connect(ui->setBtn,&QPushButton::clicked,[=](){
- ui->mywidget->setNUber(23);
- });
- }
-
- Widget::~Widget()
- {
- delete ui;
- }
-