《Qt5.9 c++开发指南》

原文链接:http://blog.sina.com.cn/s/blog_446cf5600102x0es.html

《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);里被调用执行。

上一篇:[Qt]窥探信号槽的实现细节


下一篇:QT源码分析:QObject