2018-10-26

2018-10-26  本文已影响0人  多多多_91fe
Qt: 为什么程序编译成功了,但信号和槽并没有连接起来?

Qt信号和槽连接失败的原因主要有一下几点:

connect(sender, SIGNAL(sendMessage(int a)), receiver, SLOT(getMessage(int b))); //failed,连接有形参,故失败。

connect(sender, SIGNAL(sendMessage(int)), receiver, SLOT(getMessage(int))); //success.
connect(this, SIGNAL(MoveToOnePoint(QList<double>)), robot, Slot(MoveToOnePoint(QList<double>)));
将会出现如下情况:
Object: connect: No such signal multiRobots::MoveToOnePoint.

此时需要注册这种自定义类型,首先包含头文件:

#include <QMetaType> //添加文件引用

在connect之前注册:

qRegisterMetaType <QList<QString>>("QList<double>"); //注册参数类型
上一篇 下一篇

猜你喜欢

热点阅读