您好,登錄后才能下訂單哦!
這篇文章主要講解了“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 here
D:\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 here
D:\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編譯問題怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。