2016-12-19 12 views
0

は、私は、GUIアクションの実行順序などについてあまり理解していないが、私の問題は非常に簡単です:どういうわけかPyQtはGUIの変更ボタンテキスト処理時間

button.setText('text') 
do sth 
time.sleep(1) 
do sth else 

: 私はこのようなコードを持っていますスクリプトは常にタイムアウトの前にテキストを設定することができません。したがって、タイムアウトによってもこの動作が中断され、テキストはタイムアウト後にのみ表示されます。このコード行でtime.sleep()を実行して終了するようにするにはどうすればよいですか?または私はボタンが

+0

あなたの質問を正確に理解できます。正確なコードを渡してください、そして私はあなたを助けることができます。 –

答えて

0

GUIアプリケーションは通常、実際に責​​任があるいくつかのイベントループを使用してテキスト(より良い方法がある)

感謝を設定するまでだけ待つように、if文を導入しなければなりませんのあなたのウィジェットをペイントするなど。

スリープ状態でこのイベントループをブロックすることはできません。そうしないと、アプリケーションが応答を停止します。

代わりに、Qtの場合は、QTimerを使用して、非同期で実行したいものを呼び出します。

+0

申し訳ありませんが遅く、しかしまだ記録のために:QTimerはもちろん解決策でした。私はQTimer.singleshotを使って問題を解決しました。 ありがとう! –

関連する問題