qt连接信号与槽时使用qvector<unsigned int>作为参数,编译器
时间: 2024-01-02 19:02:25 浏览: 210
qt 信号与槽
4星 · 用户满意度95%
提示错误:no matching function for call to 'QObject::connect'
这是因为Qt的信号和槽系统要求参数类型必须是Qt元对象系统支持的类型,而QVector<unsigned int>并不属于这些类型之一。
解决方法是使用Q_DECLARE_METATYPE宏将QVector<unsigned int>声明为元对象系统支持的类型,示例代码如下:
```
#include <QVector>
#include <QMetaType>
Q_DECLARE_METATYPE(QVector<unsigned int>)
// 在需要连接信号和槽的地方,使用以下代码连接
QObject::connect(sender, SIGNAL(signal(QVector<unsigned int>)), receiver, SLOT(slot(QVector<unsigned int>)));
```
需要注意的是,如果在使用QVector<unsigned int>作为信号或槽参数的类中,需要使用元对象系统支持的类型作为成员变量类型。否则,Qt将无法正确地序列化和反序列化这个类的实例。
阅读全文