我写在C++中的应用程序可以进行编码和解码的纯文本文件(压缩和解压缩)。现在我正在创建使用Qt的GUI,并且想要添加一个进度条来显示用户运行压缩时的压缩进度,这与winrar或常规安装应用程序类似。是否可以创建代表当前执行时间/总执行时间百分比的进度条?或者我可以近似于显示下载状态的进度条。创建此类进度条的一般方法是什么?
0
A
回答
0
一般的方法是让一个线程完成工作,而另一个线程使UI保持最新状态。
然后,您将不得不定义一种机制(以最简单的形式,一个全局变量),使用该机制更新UI的线程可以了解作业的百分比。然后,您可以绘制相应的小部件等。
通常,使用(至少)两个线程,您需要的不仅仅是那个共享变量。更新UI的线程必须能够完全理解正在进行的操作,可用的新信息,正在采取的操作等。请注意,其他线程实际上正在执行任何有用的操作。 UI线程将会是一个观察程序状态的用户。
做这项工作的线程应该能够估计它的进度。在你的情况下,例如number_of_bytes_decoded/total_file_size
。有时候,预测进度是不可能的,因此你只需要将进度更新为“闪光”或其他任何方式,显示正在取得进展,但无法给出百分比。例如,当你看到左右进度条内的某些内容时,就会发生这种情况。
相关问题
- 1. 循环,执行时间和进度条
- 2. 执行任务时显示进度条
- 3. 剩余执行时间sas的进度条
- 4. 虚拟进度条
- 5. 进度条与UTC时间
- 6. 未知进程时间的进度条
- 7. Android:模拟长时间运行时间
- 8. 制作虚拟进度条
- 9. 进度条灌装 - jQuery的执行
- 10. 完成后进度条不会执行
- 11. 线程执行后进度条为空
- 12. 如何在java中执行mysql查询时运行进度条?
- 13. 运行winform进度条时执行代码
- 14. 在OMNET模拟期间中止执行
- 15. 在两个活动之间执行进度条android
- 16. 在执行Perl-CGI命令期间打印进度条
- 17. 模拟PDOStatement ::执行
- 18. 模拟时间和Akka调度程序
- 19. Java:在不知道确切执行时间的情况下使用进度条
- 20. 执行期间的PHP进度更新
- 21. 进度条耗尽一段时间
- 22. WPF - 根据时间动画进度条
- 23. AVPlayer的时间轴进度条
- 24. 估计进度条的循环时间
- 25. r和系统时间的进度条
- 26. videoView进度条显示错误时间
- 27. 进度条时间计算+ java
- 28. 只用时间戳创建进度条?
- 29. MATLAB进度条不depanding时间
- 30. 在执行函数时显示jQuery进度条
你的问题是[overly general](http://stackoverflow.com/faq#dontask)。你怎么看?你有什么尝试?你有任何代码要显示吗? – Tony
还有很多其他问题的答案可以帮助你,搜索“[qt]进度”括号中的qt搜索标签。 – Tony
如果只需要几秒钟,就可以显示一个QProgressDialog并将范围从0设置为0.这样,您将获得一些“空闲”进度栏,左右弹跳。 – Zaiborg