QtConcurrent::map を使用してこの関数を実行しようとしています
//This function is used through QtConcurrent::map to create images from a QString path
void MainWindow::createQImage(QString* path) {
//create an image from the given path
QImage* t = new QImage(*path);
imageList->append(t);
}
このコンテナー/シーケンス (mainwindow ヘッダーで宣言され、mainwindow コンストラクターで初期化される)
QList<QImage *> *imageList = new QList<QImage *>;
ここに私が実行しようとしているコードがあります
QFutureWatcher<void> futureWatcher;
futureWatcher.setFuture(QtConcurrent::map(imageList, &MainWindow::createQImage));
ここに私が得ているエラーがあります:
request for member 'begin' in 'sequence', which is of non-class type 'QList<QImage*>*'
request for member 'end' in 'sequence', which is of non-class type 'QList<QImage*>*'
「imageList」内のすべての要素に対して「createQImage」関数を実行する必要があります。これは数千に達する可能性があります。map 関数の最初のパラメーターに問題があると思います。そして、私が読んだことから、互換性に関係している可能性があります。私が関連付けることができたオンラインのサンプルコードはあまりありません。私は Qt を初めて使用し、経験豊富なプログラマーではありませんが、助けとフィードバックをいただければ幸いです。
または、QtConcurrent を使用してこれを行うより良い方法はありますか?
前もって感謝します!