在C#中,为了将信号连接到插槽(委托给方法),我所做的就是:
first.signal += second.slot
Run Code Online (Sandbox Code Playgroud)
但在Qt中它是:
connect( & first, SIGNAL( signal( int, int, QString ) ), & second, SLOT( slot( int, int, QSTring ) ) );
Run Code Online (Sandbox Code Playgroud)
而且这个被计算得很短,通常它们会产生2-3行.当然我完全理解Qt只模拟.h文件,而对于.cpp,它们必然会受到标准语法的限制,但是有什么技巧/方法可以使信号插槽连接更短一些吗?我知道通过给插槽提供特殊名称来自动将信号连接到插槽,但这仅适用于.ui文件中的信号.任何提示?
我知道通过给插槽提供特殊名称来自动将信号连接到插槽,但这仅适用于.ui文件中的信号
该方法可以在.ui文件之外使用,您可以在任何地方调用QMetaObject :: connectSlotsByName.