gpt4 book ai didi

c++ - 编码进度条建议

转载 作者:搜寻专家 更新时间:2023-10-31 01:21:39 25 4
gpt4 key购买 nike

在我的应用程序中,我正在解析一个 xml 文件并使用 xsd 模式验证内容。当 xml 文件变大时,需要一些时间来解析文件和验证内容。在这种情况下,我想用进度条可视化解析和验证阶段。如何做到这一点?

注意:我正在使用带有 C++ 的 Qt

最佳答案

基本上您只需创建一个 QProgressDialog实例:

QProgressDialog progress("Parsing...", "Abort", 0, numOperations, this);
progress.setWindowModality(Qt::WindowModal);

其中 numOperations 是在完成解析之前您需要做的全部事情。为此,您可能需要首先快速遍历数据,您只需计算要解析的元素总数或类似的东西,并将此值设置为上一个示例中的最大值 numOperations代码。然后让实际处理通过并定期调用 setValue:

progress.setValue(finishedOperations);

其中 finishedOperations 是到目前为止已解析的事物的数量。

这是假设您想要最简单的解决方案,其中进度条显示为单独的模式对话框。如果你想让用户有机会中止进程,你需要实现一个连接到 canceled() signal 的插槽。 .

如果您不想在模态对话框中显示进度条,您只需显示一个QProgressBar。某处。它通过定期调用 setValue() 以类似的方式工作。

关于c++ - 编码进度条建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3658435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com