我正在PyQt5中构建一个简单的GUI,它为用户提供了一些运行功能的按钮。每个功能都相当复杂,并打印出信息,包括运行和不断更新的百分比进度值。
在正常操作下,当用户单击按钮时,该过程将运行,并且终端会按预期不断更新。
但是,我想在我的GUI中显示此打印信息,而不是终端。我已经使用Emitting Stream实现了这个,将stdout传递给ListWidget(在RealTime output from a subprogram to stdout of a pyQT Widget之后)
但是,我的问题是PRINT命令重定向到GUI,只有在所有函数调用完成后才会更新。
我该如何解决这个问题?我已经搜索了很多解决方案,并想知道QThreads是否是一个解决方案。但是,打印信息的功能是单独模块的一部分,因此,我不确定如何使用信号或插槽或线程等实现解决方案....
非常感谢所有建议。