为了账号安全,请及时绑定邮箱和手机立即绑定

请问,如果spinBox微调框发生值的变化,slider滑块又是如何知道spinBox的值呢?

请问,如果spinBox微调框发生值的变化,slider滑块又是如何知道spinBox的值呢?

C++
慕容森 2022-12-16 17:13:59
QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));spinbox是QSpinBox的一个指针,slider是QSlider的一个指针,它们之前都初始化过了.
查看完整描述

3 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

你上上面已经用了QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));它就可以让spinBox和slider建立连接啊,当spinBox的值改变的时候slider的值也会随之改变,其实valueChanged(int)是一个信号函数,你也可以自己发出一个信号,比如你可以让spinBox发出一个valueChanged(int)信号,这样slider的值也会改变,像这样emit spinBox->spinBox(5);你会看到slider的值也改变了。这是因为你让它们建立了连接(用了QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));)
你自己也可以在头里建立一个信号函数,自己设置信号,用emit发出信号。

查看完整回答
反对 回复 2022-12-21
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

void QSpinBox::valueChanged ( int i ) [signal]
This signal is emitted whenever the spin box's value is changed. The new value's integer value is passed in i.
当spin box的值发生改变时,这个信号将被发送。spin box的最新值将通过参数i传递。

value : int
This property holds the slider's current value.
The slider forces the value to be within the legal range: minimum <= value <= maximum.
Changing the value also changes the sliderPosition.
这个属性为slider的当前值,slider将强制该值在最小值和最大值之间的合法范围内。slider的滑动块位置将与这个值的改变而同步改变。
Access functions:
int value () const
void setValue ( int )
Notifier signal:
通知信号:
void valueChanged ( int value )
设置范围可以使用 setRange ( int min, int max )
设置步调可以使用 setSingleStep ( int )
PS: The Best Way to learn QT is assistant。


查看完整回答
反对 回复 2022-12-21
?
当年话下

TA贡献1890条经验 获得超9个赞

产生 QSpinBox::valueChanged 信号后, 会自动调用相连的槽 QSlider::setValue, 通过参数传递值

查看完整回答
反对 回复 2022-12-21
  • 3 回答
  • 0 关注
  • 138 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信