• Qt 自定义控件


     学过的东西很久不用都已经忘记了,即使是很简单的事情

    1、添加一个Qt 设计师界面类

     

     如何将这个放到比较好看并且是居中的呢?

    布局--》水平-》竖直 

    点击大的widget 不是这两个控件

     

     2、在主窗口中添加一个widget 来加载上面我们已经拿到组合控件

     3、将这个widget提升为

     

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

     如果出现这样就说明加载成功这个自定义控件

    4、我们需要让这个自定义控件来实现相互显示;

    1. // 设计 数字改变的时候 滑动块移动到对应的位置
    2. void(QSpinBox:: * singlespinBox)(int)=&QSpinBox::valueChanged;
    3. connect(ui->sBox,singlespinBox,ui->horizontalSlider,&QSlider::setValue);

    测试一下:

     5、获得slider 上面的值

    1. // 数字随着slider 的滑动而改变数值
    2. connect(ui->horizontalSlider,&QSlider::valueChanged,ui->sBox,&QSpinBox::setValue);

    测试一下:

     6、我们需要在主窗口分别设置get 和set 的功能

    在smallwidget 中写两个函数

    1. #ifndef SMALLWIDGET_H
    2. #define SMALLWIDGET_H
    3. #include
    4. namespace Ui {
    5. class smallwidget;
    6. }
    7. class smallwidget : public QWidget
    8. {
    9. Q_OBJECT
    10. public:
    11. explicit smallwidget(QWidget *parent = nullptr);
    12. ~smallwidget();
    13. int getNumber();
    14. void setNUber();
    15. private:
    16. Ui::smallwidget *ui;
    17. };
    18. #endif // SMALLWIDGET_H

     

     代码:

    smallwidget
    1. #include "smallwidget.h"
    2. #include "ui_smallwidget.h"
    3. smallwidget::smallwidget(QWidget *parent) :
    4. QWidget(parent),
    5. ui(new Ui::smallwidget)
    6. {
    7. ui->setupUi(this);
    8. // 设计 数字改变的时候 滑动块移动到对应的位置
    9. void(QSpinBox:: * singlespinBox)(int)=&QSpinBox::valueChanged;
    10. connect(ui->sBox,singlespinBox,ui->horizontalSlider,&QSlider::setValue);
    11. // 数字随着slider 的滑动而改变数值
    12. connect(ui->horizontalSlider,&QSlider::valueChanged,ui->sBox,&QSpinBox::setValue);
    13. }
    14. smallwidget::~smallwidget()
    15. {
    16. delete ui;
    17. }
    18. int smallwidget::getNumber()
    19. {
    20. return ui->sBox->value();
    21. }
    22. void smallwidget::setNUber(int num)
    23. {
    24. ui->sBox->setValue(num);
    25. }
    Widget
    1. #include "widget.h"
    2. #include "ui_widget.h"
    3. #include
    4. Widget::Widget(QWidget *parent)
    5. : QWidget(parent)
    6. , ui(new Ui::Widget)
    7. {
    8. ui->setupUi(this);
    9. //获得功能
    10. connect(ui->getBtn,&QPushButton::clicked,[=](){
    11. qDebug()<< ui->mywidget->getNumber();
    12. });
    13. connect(ui->setBtn,&QPushButton::clicked,[=](){
    14. ui->mywidget->setNUber(23);
    15. });
    16. }
    17. Widget::~Widget()
    18. {
    19. delete ui;
    20. }

  • 相关阅读:
    【Pytorch Lighting】第 4 章:Lightning Flash 中的即食模型
    HDRP shader 获取深度值(方便地)
    CCF走进高校
    4.28|重量级嘉宾携卓翼飞思RflySim平台亮相国际盛会,内容抢先看!
    IDM下载器安装cmd注册
    FAM DBCO, 6-isomer,DBCO-羧基荧光素琥珀酰亚胺酯-6-异构体
    本周大新闻|传苹果MR明年Q1量产,五部委发布VR行业应用行动计划
    【HarmonyOS】元服务服务卡片网络开发
    【无标题】
    SQL Server外键约束
  • 原文地址:https://blog.csdn.net/weixin_39354845/article/details/127643744