【发布时间】:2014-03-15 00:10:05
【问题描述】:
我同时拥有QSlider 和QSpinBox,并且我希望它们的值始终相等,因此我将滑块的valueChanged(int) 信号连接到旋转框的setValue(int) 插槽,反之亦然:(当然,我也将最小值和最大值设置为相等)
connect(delay_slider, SIGNAL(valueChanged(int)),
delay_spin, SLOT(setValue(int)));
connect(delay_spin, SIGNAL(valueChanged(int)),
delay_slider, SLOT(setValue(int)));
我测试过,它可以工作(至少在我的 Ubuntu 12.04 LTS x86_64、g++ 4.6.3、Qt 4.8.1 上)。
现在,我认为当我发出一个信号时,它会触发另一个,这将触发第一个信号,然后触发另一个,等等。Qt 是如何处理的?是否有描述所使用机制的文档?
Obs:我称其为“事件循环循环”,因为这与 Qt Event Loop 无关
【问题讨论】:
标签: c++ qt signals-slots qt4.8