web-dev-qa-db-ja.com

ユーザーによる無効な入力でGtkエントリフィールドを強調表示する

PythonとGtkを使用してプログラムを作成しています。誤りがある場合は指摘してユーザーをガイドします。以下にグラードインターフェイスのサンプルを添付します。ここで、ユーザーは有効なGtkEntryフィールドのステーション名。彼が送信ボタンを押した場合、このフィールドを(たとえば)赤い色で強調表示したい。

enter image description here

Pythonを使用してGTK3でこれを実現するにはどうすればよいですか?

4
nik90

まず、ColorからのGdkクラスとGtkクラスが必要です。

from gi.repository import Gtk
from gi.repository.Gdk import Color

次に、ハンドラーで、テキストフィールドの前景色を変更します。

COLOR_INVALID = Color(50000, 0, 0) // A dark red color
text_field.modify_fg(Gtk.StateFlags.NORMAL, COLOR_INVALID)

テキストフィールドが変更されたときに色をデフォルトに戻す場合は、これを変更ハンドラーに入れます。

text_field.modify_fg(Gtk.StateFlags.NORMAL, None)

ColorクラスのRBG値は、0〜65535の範囲です。

詳細については、 PyGTKドキュメント 、特に Widget および Color クラスを参照してください。

3
iBelieve