1
我想在Windows上獲取所有安裝的應用程序(使用註冊表)的圖標。問題是:獲取應用程序圖標的問題
QObject::connect: Cannot queue arguments of type 'QList<QIcon>'
(Make sure 'QList<QIcon>' is registered using qRegisterMetaType().)
我從Worker
類
QThread *programsThread = new QThread();
Worker *programsWorker = new Worker();
programsWorker->moveToThread(programsThread);
connect(programsWorker, &Worker::appData, this, &Test::setAppData);
QList<QIcon> programIcons;
emit appData(programIcons, displayNames, displayVersions, publishers, installLocation, uninstallLocations);
和Test
類設置數據的QTreeWidgetItem
(QTreeWidget
)
void setAppData(QList<QIcon> icons, QStringList names, QStringList versions, QStringList publishers, QString installLocation, QStringList uninstallLocations);
我已經試過Q_DECLARE_METATYPE(QIcon)/qRegisterMetaType<QIcon>("QIcon");
但連接數據沒有運氣。有人可以展示如何使用它?
如何解決?提前致謝。
錯誤提示'QList'未知,所以'qRegisterMetaType (「QIcon」)'應該如何幫助?它使元系統知道'QIcon'。爲'QList '嘗試'qRegisterMetaType'。 –
Lorenz
@洛倫茲 謝謝。有用。 – Cobra91151