gpt4 book ai didi

python - 派克: 'dynamically' append to qtextedit from function

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:38 24 4
gpt4 key购买 nike

在我的 pyqt gui 中有一个按钮,单击它会运行一个函数,该函数会执行一些冗长的数学计算。在这个函数中有很多打印语句,例如:

print "finished calculating task1 going on to task2"

因此,通过使用这样的打印语句,我不需要让我们说一个进度条来指示程序进度。我在我的 gui 中添加了一个 QTextEdit 小部件,并将该函数中的所有打印语句替换为:

MyTextEdit.append('消息')

其中 MyTextEdit 是 QTextEdit 小部件,message 是我希望函数打印的消息。

例子:

MyTextEdit.append('finished calculating task1 going on to task2')
task2 #lengthy second task
MyTextEdit.append('finished calculating task2 going on to task3')
task3 #lengthy third task

当我单击按钮并运行该函数时,该函数内的所有计算都必须完成,然后所有消息都会附加到 QTextEdit 小部件。

我认为每次执行 MyTextEdit.append('message') 时,它都会立即运行,并且小部件会立即显示消息,而不是在所有其他消息结束时显示.

我做错了什么?

我通过阅读这篇 post 有了这样做的想法

最佳答案

只需调用QCoreApplication.processEvents在每个 append

之后

您可以使用静态方法QCoreApplication.instance获取您的QCoreApplication实例

这将要求 Qt 在完成正在执行的任务之前“刷新”您的图形用户界面,因为该命令会处理所有未决事件。

关于python - 派克: 'dynamically' append to qtextedit from function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12602179/

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