- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将 QtConcurrent::mapped
与成员函数一起用作运算符?目前我正在使用一个可调用对象(这是一个丑陋的解决方案):
struct Vectorizer {
Vectorizer(DialogCreateSamples* cs)
: m_createSamples(cs) { }
typedef QString result_type;
QString operator()(const QString &input)
{
return m_createSamples->generateVector(input);
}
DialogCreateSamples* m_createSamples;
};
QFuture<QString> future = QtConcurrent::mapped(m_inputs,Vectorizer(this));
还尝试传递 lambda 表达式,但编译器说 lambda 中没有定义 result_type
。这适用于 QtConcurrent::map
,因为 map
不需要 result_type
。所以如果我可以在 lambda 中添加一个 typedef
它应该可以工作......
最佳答案
也许绑定(bind)?如果您使用的是 C++11,则为 std::bind,否则为 std::tr1::bind 或 boost::bind。
类似于:
QtConcurrent::mapped(m_inputs, std::bind(&Class::member_function, pointerToObjectOfTypeClass /* this? */, _1 /* placeholder for argument of your function filled by data from m_inputs */));
希望对您有所帮助。
关于c++ - QtConcurrency::mapped 成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25054722/
Qt 文档说明了以下关于 QtConcurrent::blockingMap 的内容: Note: This function will block until all items in the se
我有一个应用程序,它可能会长时间运行任务,也可能有成千上万个结果。 这个特定的应用程序(下面的代码)没有任何值(value),但是它旨在提供一个通用的用例,即在成千上万的结果中保持响应式UI的需求。
我有一个递归目录复制功能,我想在后台运行。该函数有两个 QString 参数,文件路径和目录。 来自.pro: QT += core gui sql network concurrent greate
我已经设计了一种算法,现在我正在研究实现以在多核上解决它。基本上我给每个核心相同的问题,我会选择得分最高的解决方案。但是,我注意到使用多核会减慢代码的运行时间,但我不明白为什么。所以我创建了一个非常简
在 Qt 4.7 Reference for QThreadPool 中,我们发现: void QThreadPool::releaseThread() Releases a thread previ
我在我的应用程序中构建了一个基于 QFuture 的异步网络外观。大致是这样工作的: namespace NetworkFacade { QByteArray syncGet(const QU
我正在用 QT 做多线程程序。 我使用此代码来尝试它是否按我预期的那样工作。 QFuture t1 = QtConcurrent::run(thread_process1, (void *)this)
我在项目列表上运行 QTConcurrent::Map 以执行一些图像处理任务。这在只有几个线程的机器上运行良好,但由于我的处理代码的内存需求,在具有大量线程的机器上会遇到问题。 是否可以为 QTCo
我想用 QtConcurrent::map 运行一个函数,但总是出错......我在主窗口中有两个函数:on_listWidget_itemClicked 和 _fillTreeWithList(QS
我想在 Qt 中从我使用 QtConcurrent::run 调用的函数发出信号 这可能吗?看来我的槽位永远不会被调用。所有信号、槽和函数都是同一类对象的一部分。我尝试在主线程和从线程中建立连接。我并
我目前正在学习用于多线程应用程序的QtConncurrenct。因此,出于测试目的,我决定实现一个简单的程序,对列表中的整数求和,代码如下: #include #include #includ
你好,我正在尝试将 QList 传递给 QtConcurrent::Map 函数,但它无法启动,我不明白为什么,也许有人知道可能是什么问题? 这是类方法代码 void MainWindow::find
如何将 QtConcurrent::mapped 与成员函数一起用作运算符?目前我正在使用一个可调用对象(这是一个丑陋的解决方案): struct Vectorizer { Vectorize
这个问题在这里已经有了答案: is it possible to use QtConcurrent::run() with a function member of a class (2 个答案)
我使用 QtConcurrence 在单独的线程中运行一个函数,但我想停止、暂停或终止该线程,但我做不到。我读了这个: Note that the QFuture returned by QtConc
我在网上找到了一些引用文献,其中人们说这行不通,但他们从未解释过为什么这行不通。 在伪代码中我正在做这样的事情: void MyObject::doWork() { QList worklis
我有一个用于将文件压缩成不同格式的类。我正在尝试使用 QtConcurrent 在后台运行压缩。有了这个,我有两个功能: 将文件路径作为字符串和压缩格式 获取文件路径和压缩格式的 vector 问题是
我正在尝试将一个成员函数传递给 QtConcurrent::run() 我试过这样做: GDALDriver *poNITFDriver; future = QtConcurrent::run(poN
我试图在另一个线程中运行非静态成员函数。如果我去: void *(PortManager::*innerAskPtr)() = &this->innerAsk; QFuture f = QtConcu
我正在尝试实现预加载与另一个线程中请求的图像相邻的图像,并将它们存储在 QPixmapCache 中,但即使我不存储图像,似乎也存在内存泄漏。 Valgrind 显示使用此方法没有内存泄漏,但程序的内
我是一名优秀的程序员,十分优秀!