Я захотел запустить функцию с QtConcurrent::map, но всегда получаю ошибки... У меня есть две функции в Mainwindow: on_listWidget_itemClicked and _fillTreeWithList(QStringList selectedListWidget)
. Функция on_listWidget_itemClicked should use map with _fillTreeWithList.
Мой код:
Заголовок:
QFuture<void> SqlLoadingThread;
void _fillTreeWithList(QStringList);
void on_listWidget_itemClicked(QListWidgetItem *item);
Цена за тысячу показов:
void MainWindow::on_listWidget_itemClicked(QListWidgetItem *item)
{
QStringList selectedListWidget;
QList<QListWidgetItem *> selected=ui->listWidget->selectedItems();
foreach (QListWidgetItem * item, selected){
selectedListWidget.append(item->text());
}
if(SqlLoadingThread.isRunning()){
SqlLoadingThread.cancel();
}
QList<QStringList> list;
list.append(selectedListWidget);
SqlLoadingThread=QtConcurrent::map(&list, &MainWindow::_fillTreeWithList);
}
Ошибка:
...mainwindow.cpp:56: Error: no matching function for call to 'map(QList<QStringList>*, void (MainWindow::*)(QStringList))'
SqlLoadingThread=QtConcurrent::map(&list, &MainWindow::_fillTreeWithList);
^
Кто-нибудь знает, как решить мою проблему?
_fillTreeWithList
не может быть нестатической функцией-членом. - person Oktalist   schedule 21.11.2014