QSlider支持显示双精度值
发布时间
阅读量:
阅读量
需求
QSlider内置了valueChanged(int)信号;显示单元件同样采用int参数传递机制。具体而言,在LCD Number组件中对应的槽函数为display(int),而Label组件对应的槽函数则为setNum(int)。
为了实现基于double值的变化控制,请考虑创建一个自定义类DoubleSlider。该类将继承自QSlider,并将触发双精度数值更新事件:void doubleValueChanged(double value);随后,在主程序中定义一个双精度参数化的槽函数即可完成配置。
2.思考
我的想法是:我不打算更换Slider自身的valueChanged(int)信号。原因在于qt designer自动生成的UI文件(如ui.h)每次修改界面都需要手动更新非常耗时。
如果能够更改信号属性或相关槽函数,则能显著提升开发效率和减少工作量。
我打算编写一个自定义槽函数:接收int类型的数值,在程序内部进行计算后将结果显示为所需的小数形式(即与label自身的setNum(int)方法的功能相同),从而避免依赖label预设的槽函数功能。
void PCLViewer::updateLabelValue(int value)
{
double doublevalue = value/100.0;
ui->
全部评论 (0)
还没有任何评论哟~
