QtConcurrent::map 不接受参数
QtConcurrent::map Doesn't accept parameters
我想用QtConcurrent::map运行一个函数,但我总是得到错误...我在主窗口中有两个功能: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);
CPP:
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);
^
有人知道如何解决我的问题吗?
来自文档 序列应通过引用而不是指针获取
QFuture<void> QtConcurrent::map ( Sequence & sequence, MapFunction function )
尝试:
SqlLoadingThread=QtConcurrent::map(list, &MainWindow::_fillTreeWithList);
此外,你需要让你的MapFunction通过引用参数(QStringList):
void _fillTreeWithList(QStringList&);
相关文章:
- 函数不接受 X 参数,函数使用默认参数
- 为什么不接受具有默认分配参数的函数作为 0-arg 生成器?
- 函数不接受 C++ 参数
- SQLHANDLE-Parameters:函数不接受x个参数(但实际上确实如此)
- 函数不接受 1 个参数
- 为什么析构函数不接受C++中的参数?
- 为什么C++可变参数模板不接受 iostream 值作为参数?
- C++:将引用作为参数传递,但该函数不接受引用作为参数
- 我的构造函数方法不接受参数(DirectX / Windows)
- 可变参数模板化构造函数不接受 x 参数
- 为什么 std::is_invocable 不接受非类型模板参数
- 错误 C2660:'MouseListener::MousePressed':函数不接受 4 个参数
- 不接受静态成员函数作为 constexpr 参数
- 方法指针映射,编译器说他们不接受任何参数
- GCC 不接受默认模板参数中的包扩展
- 为什么Clang和VS2013接受移动大括号初始化的默认参数,而不接受GCC 4.8或4.9
- C++ 中的特征库给出错误 C2660:"特征::矩阵基<Derived>::特征值":函数不接受 2 个参数
- strtrok_s函数不接受2个参数
- 函数不接受一个参数
- 带有 const 参数的方法不接受非 const 参数