connect的返回值是true,信号也正常emit了,但是槽函数不执行。控制台输出为:
QObject::connect: Cannot queue arguments of type 'std::map<int,std::vector<ChannelData> >'
(Make sure 'std::map<int,std::vector<ChannelData> >' is registered using qRegisterMetaType().)
导致该问题的原因是:文章来源:https://www.toymoban.com/news/detail-555154.html
信号槽传输自定义的类型时没有注册qRegisterMetaType。
解决方法:文章来源地址https://www.toymoban.com/news/detail-555154.html
qRegisterMetaType<std::map<int, std::vector<ChannelData>>>("std::map<int, std::vector<ChannelData>>");
到了这里,关于qt的槽无反应的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!