2014-03-19 52 views
2

我有一个简单的问题家伙,阅读关于connecting signals with slots with fewer arguments的线程,当然还有Qt文档。Qt连接不同参数的信号

但是,我不需要将信号连接到插槽。我实际上希望用更少的参数连接具有信号的信号。

该文档对插槽非常清楚,但信号又如何?

这是否认为安全?

感谢&干杯!

+0

你试试?我认为它应该工作:'连接(信号(foo(int,int)),信号(goo(int)));' – vahancho

+0

是的,它的工作原理,我试过了。但是,如果您在独立线程中的小部件上设置图标,它也可以工作,但不能保证始终有效。我正在寻找官方文档... – senseiwa

回答

6

没有区别。接收信号可以具有比发射信号更短的特征。因为它可以忽略额外的参数。您可以连接等的信号:

signal(int, int, int) 

与下列签名信号:

signal1(int, int, int) 
signal2(int, int) 
signal3(int) 
signal4() 
+0

谢谢!我想知道为什么文档只提到插槽。你觉得他们只是忘了提到信号吗? – senseiwa

+1

文档告诉我们连接没有区别。您可以按照与插槽信号相同的方式将信号连接到信号。 –