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);
とQTreeWidgetItem
でTest
クラス設定データ内(QTreeWidget
)
void setAppData(QList<QIcon> icons, QStringList names, QStringList versions, QStringList publishers, QString installLocation, QStringList uninstallLocations);
からデータを接続しています運。誰かがそれを使用する方法を表示することはできますか?
修正方法?前もって感謝します。 qRegisterMetaType<QList<QIcon>>("QList<QIcon>");
それが機能するようになりました:私は、コードを変更した@Lorenz
へ
エラーは、 'QList'は知られていないので、 'qRegisterMetaType (" QIcon ")'はどのように役立つべきですか? 'QIcon'はメタシステムに知られています。 'QList 'の 'qRegisterMetaType'を試してください。 –
Lorenz
@Lorenz ありがとうございます。できます。 – Cobra91151