问题标签 [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.
c++ - 如果作业在附加之前完成,QFutureWatcher 的 finished() 信号会被触发吗?
的finished()
信号是否QFutureWatcher
总是会被触发,即使 代表的并发作业在附加到QFuture
之前已经完成?QFutureWatcher
QFuture
考虑以下示例:
而且,最重要的是,如果没有发生这种情况,handleFinished()
在这种情况下如何让插槽始终被调用?
c++ - 在取消线程上使用 QFuture 释放内存
我正在编写一个QtConcurrent
用于启动线程的程序。就我而言,当我使用鼠标滚动时,我使用它来呈现 QGraphicsView。
我正在使用以下代码启动线程:
线程完成后,我finished
用QfutureWatcher
.
这是我的渲染功能:
如您所见,我的QList<QGraphicsItem*>
渲染函数中有一个。当未来被取消时,我怎样才能销毁这个列表?我不明白在我的代码中我正在重新定义future
变量,但我不知道如何避免它。
c++ - 当 QFuture 超出范围时会发生什么?
我有以下有效的代码(但它不应该有效)
在这段代码中,future 超出了范围,但 watch 的 slot 内的代码仍然被执行。
这是因为事情发生得太快了,如果事情变慢,我的代码可能会失败吗?还是只是在调用 QFutureWatcher::setFuture 之后我不需要未来?
qt - Qt C++如何正确删除QFutureWatcher?
由于未来的异步,我的代码有时会崩溃。
这不是生产代码,只是演示我想要做的非常简单的东西。
我必须下载一些信息,然后返回第一个获得的结果。试想一下,我不想等待,所以我使用QFutureWatcher
的下载速度太快了。
当我获得结果(first
或第二个instance
)时,我想立即返回结果(我的意思是我不想使用QFutureWatcher::waitForFinished
。(如果我从first
实例接收到完成的信号,我不再需要那个second
。或者对于first
.
在生产代码功能中,download
我无法访问QNetworkReply
,因此无法中止待处理的请求。
有时此代码会崩溃。我究竟做错了什么?
c++ - 尝试获取文件的 MD5 时 Qt 程序冻结
嗨,我使用此代码在 QT 中生成文件的 MD5
我需要使用此代码(1.5GB>)生成 8 个大文件的 MD5问题是当我按下按钮开始生成 MD5 时,GUI冻结直到所有 MD5 生成
Im Test QFuture,QFutureWatcher,QtConcurrent以这种方式,但没有运气 GUI 仍然每次冻结
主文件
用户定义.h
主窗口2.h
主窗口2.cpp
谁能说我的问题是什么,我该如何解决?
编辑 1
我以这种方式编辑我的代码,就编码而言,它在没有冻结 gui 的情况下工作得很好,这个代码是标准的吗?
主窗口2.cpp
主窗口2.h
c++ - 将 QString 作为参数传递给 QFuture
我需要将文件名作为 QString 传递给 QFuture 中覆盖并由 QFutureWatcher 监视的函数的路径,但只有此 QString 的第一个字符将传递给此函数。这里 *.h 文件中的声明:
这里是函数的调用:
以及函数的代码:
我究竟做错了什么?