gpt4 book ai didi

linux - QVariant 和 qRegisterMetaType 问题

转载 作者:太空狗 更新时间:2023-10-29 11:35:04 27 4
gpt4 key购买 nike

我有一个 Pkg 类,我需要以 QVariant 的形式使用它。

在我的 Pkg.h 结束时,我有:

Q_DECLARE_METATYPE(Pkg)

这不会产生编译错误,但在我的 main.cpp 中我必须这样做:

qRegisterMetaType<Pkg>("Pkg");

这也不会出错,但是当我尝试创建 QVariant(Pkg) 时,我会遇到很多错误,例如:

In member function 'void MainWindow::FillPackagesList()':  
mainWin.cpp:233: error: 'qRegisterMetaType' isnot a member of 'QMetaType' mainWin.cpp:234: error: no matching function for call to QVariant::QVariant(Pkg&)'

/usr/lib/qt/include/QtCore/qvariant.h:208: note: QVariant::QVariant(Qt::GlobalColor)
/usr/lib/qt/include/QtCore/qvariant.h:206: note: QVariant::QVariant(const QRegExp&)
/usr/lib/qt/include/QtCore/qvariant.h:204: note: QVariant::QVariant(const QLocale&)
/usr/lib/qt/include/QtCore/qvariant.h:203: note: QVariant::QVariant(const QUrl&)
/usr/lib/qt/include/QtCore/qvariant.h:201: note: QVariant::QVariant(const QRectF&)
/usr/lib/qt/include/QtCore/qvariant.h:200: note: QVariant::QVariant(const QRect&)

错误接连不断...

最佳答案

QVariant 构造函数不会只采用任何旧类型。您需要使用 QVariant::setValue()qVariantFromValue .

关于linux - QVariant 和 qRegisterMetaType 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/357537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com