《Qt5.9 c++开发指南》案例库
下载地址:https://box.lenovo.com/l/60jyJz
提取码:7e9f
案例sample 3_1
问题1:QT调试信息:QMetaObject::connectSlotsByName: No matching signal for xxx
QT信号槽隐式连接方式:将槽函数定义为on_控件名_信号名 格式;
如果采用显式 connect的方法的同时,又将槽函数的名字起成了“on_控件名_信号名”的格式,那么就会在运行时弹出 “QMetaObject::connectSlotsByName: No matching signal for”的警告了!
connectSlotsByName 是一个QMetaObject类里的static函数,其定义如下:
static void connectSlotsByName(QObject *o);
其作用是如其名称一样,用来将QObject *o里的子孙QObject的某些信号按照其objectName连接到o的槽上。
QMetaObject::connectSlotsByName()这个函数会在ui->setupUi(this);里被调用执行。