Qt connect中的参数值传输

时间:2014-09-09 08:01:28

标签: qt signals

我正在使用下一行,以便在标签上显示滑块的位置。

connect(slider, SIGNAL(valueChanged(int)), label, SLOT(setNum(int)));

工作正常。 但是,我真的不明白这个价值是如何转移的。 valueChanged 函数的参数如何传递给 setNum 函数?

2 个答案:

答案 0 :(得分:1)

  • 当您致电connect时,您需要指定信号和插槽(或其他信号)的签名。
  • Qt使用这些签名来存储"内部链接"两种方法之间。
  • 调用信号方法时(例如,使用emit valueChanged(5)Qt在"链接"列表中查找相应的slot方法。
  • 然后Qt调用slot方法从第一个signal方法传递参数。

彻底阅读此article。它非常棒。

答案 1 :(得分:0)

每次触发信号时,它都会为插槽功能提供int。这就像你(插槽)去看你的邻居给他蛋,然后他做任何他想做的事。

您可以看到这个出色的doc about how Qt Signals and Slots作品