mit Ich versuche QtConcurrent :: Karte zu verwenden, um diese FunktionFehler mit dem Argument Sequenz, wenn QtConcurrent Karte
//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);
}
auf diesem Container/Sequenz (im Hauptfenster Konstruktor deklariert in der Hauptfenster-Header und initialisiert) zu laufen
QList<QImage *> *imageList = new QList<QImage *>;
hier ist der Code, den ich
QFutureWatcher<void> futureWatcher;
futureWatcher.setFuture(QtConcurrent::map(imageList, &MainWindow::createQImage));
laufen bin versucht, und hier sind die Fehler Ich erhalte:
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*>*'
Ich brauche die „createQImage“ -Funktion für jedes Element ausgeführt werden soll in „Imagelist“, die in die Tausende erreichen kann. Ich glaube das Problem liegt beim ersten Parameter der Kartenfunktion. Und von dem, was ich gelesen habe, kann es mit der Kompatibilität zu tun haben. Es gibt nicht viel Beispielcode online, auf den ich mich beziehen konnte. Ich bin neu in Qt und nicht der erfahrenste Programmierer, aber ich würde etwas Hilfe und Feedback schätzen.
Oder gibt es eine bessere Möglichkeit, dies mit QtConcurrent zu tun?
Vielen Dank im Voraus!