我既有一个 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是如何处理这个的?是否有描述所使用机制的文档?
注意:我称其为“事件发射循环”,因为这与Qt事件循环无关。