【QT】自定义控件的封装

对QT自定义控件的封装。

1 创建工程,选择UI界面,继承Widget类。

2 创建设计师界面类,右键项目

类名自己取,到完成即可。最后会生成,h/.cpp/.ui文件

3 点击生成的UI文件

将需要的控件拖过来。这里使用Horizontal Slider和Spin Box。

最终效果就是拖动Horizontal Slider,Spin Box的数字会变;修改Spin Box的数字,Horizontal Slider会滑动。

还可以修改初始化,两个要对应

 4 在ui界面里添加widget控件,将其提升为之前创建的设计师界面类

5 创建设计师界面类(名称自取)

6 使用信号的槽来完成需求;

6.1  首先设置【spinBox数字改变,是slider跟着滑动】

查看QSpinBox,它有一个重载的版本,使用函数指针来完成, 

// spinBox数字改变,是slider跟着滑动
// 函数指针
void(QSpinBox::* spin)(int) = &QSpinBox::valueChanged;
connect(ui->spinBox, spin, ui->horizontalSlider,&QSlider::setValue);

 接着,同理

// slider移动,spinBox数字跟着变化
connect(ui->horizontalSlider, &QSlider::valueChanged, ui->spinBox, &QSpinBox::setValue);

6.2 在widget.ui添加两个按钮,【设置到一半】和【设置到一半】

在Smallwidget类中添加两个函数【设置数据】和【获取数据】

实现

 在Widget.cpp中实现按钮的信号和槽

// 点击设置一半
connect(ui->btn_set, &QPushButton::clicked, this, [=](){
    ui->widget->setVal(50);
});

// 点击获取当前值
connect(ui->btn_get, &QPushButton::clicked, this, [=](){
    qDebug() << ui->widget->getVal();
});

 效果

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值