问题标签 [qfuturewatcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
206 浏览

c++ - 如果作业在附加之前完成,QFutureWatcher 的 finished() 信号会被触发吗?

finished()信号是否QFutureWatcher总是会被触发,即使 代表的并发作业在附加到QFuture之前已经完成?QFutureWatcherQFuture

考虑以下示例:

而且,最重要的是,如果没有发生这种情况,handleFinished()在这种情况下如何让插槽始终被调用?

0 投票
1 回答
527 浏览

c++ - 在取消线程上使用 QFuture 释放内存

我正在编写一个QtConcurrent用于启动线程的程序。就我而言,当我使用鼠标滚动时,我使用它来呈现 QGraphicsView。

我正在使用以下代码启动线程:

线程完成后,我finishedQfutureWatcher.

这是我的渲染功能:

如您所见,我的QList<QGraphicsItem*>渲染函数中有一个。当未来被取消时,我怎样才能销毁这个列表?我不明白在我的代码中我正在重新定义future变量,但我不知道如何避免它。

0 投票
1 回答
159 浏览

c++ - 当 QFuture 超出范围时会发生什么?

我有以下有效的代码(但它不应该有效)

在这段代码中,future 超出了范围,但 watch 的 slot 内的代码仍然被执行。

这是因为事情发生得太快了,如果事情变慢,我的代码可能会失败吗?还是只是在调用 QFutureWatcher::setFuture 之后我不需要未来?

0 投票
0 回答
248 浏览

qt - Qt C++如何正确删除QFutureWatcher?

由于未来的异步,我的代码有时会崩溃。

这不是生产代码,只是演示我想要做的非常简单的东西。

我必须下载一些信息,然后返回第一个获得的结果。试想一下,我不想等待,所以我使用QFutureWatcher的下载速度太快了。

当我获得结果(first或第二个instance)时,我想立即返回结果(我的意思是我不想使用QFutureWatcher::waitForFinished。(如果我从first实例接收到完成的信号,我不再需要那个second。或者对于first.

在生产代码功能中,download我无法访问QNetworkReply,因此无法中止待处理的请求。

有时此代码会崩溃。我究竟做错了什么?

0 投票
1 回答
96 浏览

c++ - 尝试获取文件的 MD5 时 Qt 程序冻结

嗨,我使用此代码在 QT 中生成文件的 MD5

我需要使用此代码(1.5GB>)生成 8 个大文件的 MD5问题是当我按下按钮开始生成 MD5 时,GUI冻结直到所有 MD5 生成
Im Test QFutureQFutureWatcherQtConcurrent以这种方式,但没有运气 GUI 仍然每次冻结

主文件


用户定义.h


主窗口2.h


主窗口2.cpp

谁能说我的问题是什么,我该如何解决?

编辑 1

我以这种方式编辑我的代码,就编码而言,它在没有冻结 gui 的情况下工作得很好,这个代码是标准的吗?

主窗口2.cpp

主窗口2.h

0 投票
0 回答
54 浏览

c++ - 将 QString 作为参数传递给 QFuture

我需要将文件名作为 QString 传递给 QFuture 中覆盖并由 QFutureWatcher 监视的函数的路径,但只有此 QString 的第一个字符将传递给此函数。这里 *.h 文件中的声明:

这里是函数的调用:

以及函数的代码:

我究竟做错了什么?