connectSlotByName()
在使用form的时候,某些情况下,即使在cpp文件中,我们没有使用connect函数链接,也可以通过信号触发槽函数。之前一直不解,直到某一天,我打开了ui自动生成的头文件,发现如下一行代码:
QMetaObject::connectSlotByName(QObject)
这行代码的作用很简单,就是通过按照对象名进行信号和槽函数的关联,具体规则如下:
-
槽函数必须命名为如下格式:
void on_对象名_信号()
例如:
void on_button_cliecked()
这样我们就可以不用写connect函数来连接信号和槽了!但是需要注意的是:
1、尽量不要出现相同的对象名
2、如果同名,connectSlotsByName只会给其中一个建立缺省的信号槽的连接