如何实时取得QSpinBox的值

如何实时取得QSpinBox的值,第1张

自己emit一个信号,步骤如下(保证你这个两个cpp都对应的类是继承自QObject类):

准备两个cpp,一个是包含QSpinBox的cpp,一个是需要获得SpinBox改变的值

1、在QSpinBox的类中(可能是QWidget)中增加一个信号void spinBoxChanged(QString)

2、对于一个QSpinBox会有一个valueChanged的信号槽,假设你已经实现了这个槽函数中,并且在这个槽函数中得到了改变后的值,然后emit spinBoxChanged(changeValue)

3、再在另一个需要获得SpinBox的cpp对应的类(假设是QClass)中增加一个与信号函数的参数相同的槽函数

void slotSpinBoxChanged(QString).并实现之

4、连接两个对象的信号和槽,一般在初始化中连接

可能写的不太好懂,为了简单,你可以利用QT的一个信号对应多个槽的机制,不需要自己发信号,直接把槽函数和QSpinBox的valueChanged信号相连,这样就更简单了。

项目中用到了一组范围,可是Qt中自带的QSlider只有一个滑块,不满足需求,需要实现一个带有两个滑块的Slider。

首先在界面上引用一个QSlider类,如下图

然后在QSlider上,右键:

提升类的名称填入QxtSpanSlider,头文件自动生成的为小写,改为QxtSpanSlider.h

点击添加,提升后运行程序:

滑块的两个值改变后会发出信号lowerValueChanged和upperValueChanged

测试程序源码地址


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11281226.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存