张德长

导航

QT实战 之自定义控件(QSpinBox+QSlider)

QT实战 之自定义控件(QSpinBox+QSlider)

  • 创建自定义控件(QT设计师界面类)
  • 打开ui文件,拖拽需要用到的基础控件(QSpinBox+QSlider)
  • 事件绑定(注意QSpinBox::valueChanged有重载,需要用函数指针指定信号函数)
  • 使用自定义控件(拖拽添加Widget容器控件,右键菜单--提升为,打开提升对话框,填写提升的类名称,并勾选全局包含(方便下次快速提升))
  • 运行程序,即可看到自定义控件,并具有联动功能

#include "smallwidget.h"

#include "ui_smallwidget.h"

SmallWidget::SmallWidget(QWidget *parent) :

    QWidget(parent),

    ui(new Ui::SmallWidget)

{

 

    ui->setupUi(this);

    void (QSpinBox::*spinBoxSignal)(int)=&QSpinBox::valueChanged;

    connect(ui->spinBox,spinBoxSignal,ui->horizontalSlider,&QSlider::setValue);

    connect(ui->horizontalSlider,&QSlider::valueChanged,ui->spinBox,&QSpinBox::setValue);

}

 

SmallWidget::~SmallWidget()

{

    delete ui;

}

 

 

posted on 2023-11-22 22:42  张德长  阅读(452)  评论(0编辑  收藏  举报