1

PyGTK を使用して Python でタイマー プログラムを作成しています。100 分の 1 まで正確です。現在、常に更新されているラベルを使用しています。これは問題です。タイマーの実行中にウィンドウのサイズを変更すると、多くの場合、Pango が異常なエラーをスローしてプログラムが終了するためです。それは常に同じエラーではありませんが、何らかの形で描画の失敗であると私が推測する別のエラーです。また、フォント サイズを大きくすると、ラベルの更新が遅くなります。

それで、タイマーを表示するより正しい方法があるかどうか疑問に思っています。ラベルを常に更新するよりも安定した方法はありますか?

4

2 に答える 2

2

私は問題を理解しました。それは確かにスレッドの問題でした。私はそれを自分で推測したことはありませんでした。トリックは、スレッド化されたループの代わりに gobject.timeout_add() を使用してタイマーを作成することです。gobject.timeout_add() に関する情報を次に示します。

http://faq.pygtk.org/index.py?req=show&file=faq01.021.htp

関数が True を返すことを忘れないでください。そうしないと、タイマーが停止します。

于 2010-02-14T02:15:42.120 に答える
2

ラベルの更新は完全に確実に機能するはずなので、何か他のことをしているのではないかと思います。スレッドを使用していますか?あなたのコードはどのように見えますか? 問題を解消することなく、(コードを難読化するのではなく、機能を削除することによって) プログラムをどれだけ小さく圧縮できますか?

于 2010-02-13T22:59:01.893 に答える