QSlider change with double values(Qt滑动进度条显示小数)

本文介绍如何在Qt中使用QSlider显示小数值,不修改QSlider自带的信号valueChanged(int),而是通过自定义槽函数int转double进行处理,达到显示小数的效果,避免频繁更改ui文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.需求

QSlider自带的信号是valueChanged(int),显示单元自带的也都是传入int类型参数的槽函数,比如LCD Number的槽函数为display(int),Label的槽函数为setNum(int).
对此,看到stackoverflow的一个回答,他的做法是建立一个DoubleSlider的类,继承QSlider,目的是让DoubleSlider类产生double类型的信号:void doubleValueChanged(double value);然后在主函数创建一个double类型的全局槽函数就行了.

2.思考

我的思考是,我不想改变Slider自身的信号valueChanged(int),因为ui.h是由qt designer界面设计自动生成,每次改完界面都要改ui.h很麻烦。
既然可以改信号,就可以改槽函数。创建一个槽函数如下,int类型传入,在程序内部进行运算,显示运算结果(就是你想要的小数),这样就避免使用label自带的槽函数setNum(int).

void PCLViewer::updateLabelValue(int value)
{
    double doublevalue = value/100.0;
    ui->la
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值