根据从导入包中打印的标准输出更新 PyQt 进度条(PyQt5)
Posted
技术标签:
【中文标题】根据从导入包中打印的标准输出更新 PyQt 进度条(PyQt5)【英文标题】:Updating PyQt progressbar based on printed stdout from imported package (PyQt5) 【发布时间】:2017-05-20 05:57:43 【问题描述】:我对 PyQt5 比较陌生,希望能获得任何指导以实现以下目标。
我正在构建一个 GUI 以在运行各种慢速处理工具的 Python 包之上工作。当前界面是纯文本的:包在循环中运行一些代码并将当前进度百分比完成打印到终端。
我的目标是构建一个 PyQt GUI,将进度显示为进度条。如果我可以将此调用添加到原始处理代码中,这可以简单地使用 QProgressBar.setValue() 来完成,但这是不可能的;相反,我的 GUI 将构建在处理代码的当前文本输出界面之上。
我觉得这应该可以通过某种方式使用线程,但我不确定如何在不影响性能/引入线程不安全操作的情况下拦截对 stdout 的调用。
这可能吗?任何建议都会非常感谢。
【问题讨论】:
【参考方案1】:我为此写了一些 *** 文档。有时间我会尽快写一些更高级的例子。
Introduction to Progress Bars in PyQt5
希望这会有所帮助:)
编辑:
由于堆栈溢出文档的日落,我已将指南移至我的博客。
【讨论】:
以上是关于根据从导入包中打印的标准输出更新 PyQt 进度条(PyQt5)的主要内容,如果未能解决你的问题,请参考以下文章