在我的应用程序中,我正在解析 xml 文件并使用 xsd 架构验证内容。当 xml 文件变大时,需要一些时间来解析文件并验证内容。在这种情况下,我希望使用进度条可视化解析和验证阶段。这个怎么做?
注意:我使用的是 Qt 和 C++
基本上你只需创建一个QProgressDialog实例:
QProgressDialog progress("Parsing...", "Abort", 0, numOperations, this);
progress.setWindowModality(Qt::WindowModal);
where numOperations
是在解析完成之前需要执行的全部操作。为此,您可能需要第一次快速遍历数据,只需计算要解析的元素总数或类似的值,然后将此值设置为最大值numOperations
在前面的示例代码中。然后进行实际的处理并定期调用 setValue:
progress.setValue(finishedOperations);
其中 FinishedOperations 是迄今为止解析的事物数量。
这是假设您想要最简单的解决方案,其中进度条显示为单独的模式对话框。如果您想给用户机会中止进程,您需要实现一个连接到的插槽canceled() signal.
如果您不想在模式对话框中显示进度条,则只需显示一个QProgressBar某处。它的工作方式与定期调用 setValue() 类似。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)