Qt信号入参使用QVariantList编译问题怎么解决

这篇文章主要讲解了“Qt信号入参使用QVariantList编译问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Qt信号入参使用QVariantList编译问题怎么解决”吧!

编译错误出现一大堆,这里只贴了前面的一部分,来看下:


In file included from D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qglobal.h:1173:0,                 from D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qnamespace.h:43,                 from D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qobjectdefs.h:48,                 from D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qobject.h:46,                 from D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/QObject:1,                 from temp/moc/../../../test/module_function/test.h:4,                 from temp/moc/moc_test.cpp:9:D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qtypeinfo.h: In instantiation of 'class QTypeInfo<QVariant>':D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qlist.h:459:31:   required from 'void QList<T>::node_copy(QList<T>::Node*, QList<T>::Node*, QList<T>::Node*) [with T = QVariant]'D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qlist.h:813:22:   required from 'QList<T>::QList(const QList<T>&) [with T = QVariant]'temp/moc/moc_test.cpp:103:82:   required from hereD:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qtypeinfo.h:67:26: error: invalid application of 'sizeof' to incomplete type 'QVariant'         isLarge = (sizeof(T)>sizeof(void*)),                          ^D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qtypeinfo.h:69:24: error: invalid application of 'sizeof' to incomplete type 'QVariant'         sizeOf = sizeof(T)                        ^In file included from D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qobject.h:49:0,                 from D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/QObject:1,                 from temp/moc/../../../test/module_function/test.h:4,                 from temp/moc/moc_test.cpp:9:D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qlist.h: In instantiation of 'void QList<T>::node_copy(QList<T>::Node*, QList<T>::Node*, QList<T>::Node*) [with T = QVariant]':D:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qlist.h:813:22:   required from 'QList<T>::QList(const QList<T>&) [with T = QVariant]'temp/moc/moc_test.cpp:103:82:   required from hereD:/Qt/Qt5.10.0/5.10.0/mingw53_32/include/QtCore/qlist.h:462:28: error: invalid use of incomplete type 'class QVariant'

从错误里不太容易看出来错误原因和错误的代码位置,只能看到文件,是moc_test.cpp编译时引起的错误,可能和QVariant类型有关;

在代码中,没有使用QVariant类型的地方,使用QVariantLis的地方有两个,一个是信号的入参,一个是信号的入参,一个是函数的成员变量定义;我把这两个部分同时注释掉,发现编译可以通过了;单独注释掉信号定义,也可以编译过!这也是导致问题不好判断的地方。 

后来加上头文件

#include  <QVariantList>

然后就都可以编译通过了!

感谢各位的阅读,以上就是“Qt信号入参使用QVariantList编译问题怎么解决”的内容了,经过本文的学习后,相信大家对Qt信号入参使用QVariantList编译问题怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/223539.html

(0)
上一篇 2022年1月7日
下一篇 2022年1月7日

相关推荐

发表回复

登录后才能评论