QFuture类有一些方法,如cancel(),progressValue()等等.这些可以通过QFutureWatcher来监视.但是,QtConcurrent :: run()的文档读取:
Note that the QFuture returned by
QtConcurrent::run() does not support
canceling,pausing,or progress
reporting. The QFuture returned can
only be used to query for the
running/finished status and the return
value of the function.
我已经看不清楚什么方法实际上可以创建一个可以取消的QFuture,并报告一个长时间运行的操作的进度. (看起来可能是QtConcurrent :: map()和类似的函数可以,但我只有一个单一的,长期运行的方法.)
(对于那些熟悉.NET的人来说,类似于BackgroundWorker类.)
有什么选择可用?