2017-05-29 12 views
1

Windows上にインストールされているすべてのアプリケーション(レジストリを使用)のアイコンを取得したい。問題は次のとおりです。アプリケーションのアイコンの取得に関する問題

QObject::connect: Cannot queue arguments of type 'QList<QIcon>' 
(Make sure 'QList<QIcon>' is registered using qRegisterMetaType().) 

私はQ_DECLARE_METATYPE(QIcon)/qRegisterMetaType<QIcon>("QIcon");を試みたが、なしている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); 

QTreeWidgetItemTestクラス設定データ内(QTreeWidget

void setAppData(QList<QIcon> icons, QStringList names, QStringList versions, QStringList publishers, QString installLocation, QStringList uninstallLocations); 

からデータを接続しています運。誰かがそれを使用する方法を表示することはできますか?

修正方法?前もって感謝します。 qRegisterMetaType<QList<QIcon>>("QList<QIcon>");それが機能するようになりました:私は、コードを変更した@Lorenz

+1

エラーは、 'QList 'は知られていないので、 'qRegisterMetaType (" QIcon ")'はどのように役立つべきですか? 'QIcon'はメタシステムに知られています。 'QList 'の 'qRegisterMetaType'を試してください。 – Lorenz

+0

@Lorenz ありがとうございます。できます。 – Cobra91151

答えて

関連する問題