私のpyqt GUIには、クリックすると長い数学計算を行う関数を実行するボタンがあります。この関数内には、次のような多くの print ステートメントがありました。
print "finished calculating task1 going on to task2"
したがって、そのような印刷ステートメントを使用することで、たとえばプログラムの進行状況を示すためにプログレスバーを言う必要はありませんでした。GUI に QTextEdit ウィジェットを追加し、その関数のすべての print ステートメントを次のように置き換えました。
MyTextEdit.append('message')
どこ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')
aが実行されるたびにすぐに実行され、ウィジェットは他のすべてのメッセージの最後ではなく、その瞬間にメッセージを表示すると思いました。
私は何を間違っていますか?