在用户输入无效时突出显示 Gtk Entry 字段

nik*_*k90 5 python application-development gtk3

我正在使用 Python 和 Gtk 创建一个程序。我想通过指出错误来指导用户(如果有的话)。我在下面附上了一个示例 Glade 界面。这里用户应该在 GtkEntry 字段中输入一个有效的站名。如果他按下提交按钮,我想用红色突出显示这个字段(例如)。

在此处输入图片说明

我如何使用 Python 在 GTK3 中实现这一点?

iBe*_*eve 3

首先,您需要Color来自 的类GdkGtk类:

from gi.repository import Gtk
from gi.repository.Gdk import Color
Run Code Online (Sandbox Code Playgroud)

然后,在处理程序中,更改文本字段的前景色:

COLOR_INVALID = Color(50000, 0, 0) // A dark red color
text_field.modify_fg(Gtk.StateFlags.NORMAL, COLOR_INVALID)
Run Code Online (Sandbox Code Playgroud)

如果您想在修改文本字段时将颜色更改回默认颜色,请将其放入更改处理程序中:

text_field.modify_fg(Gtk.StateFlags.NORMAL, None)
Run Code Online (Sandbox Code Playgroud)

该类的 RBG 值的Color范围是 0-65535。

有关更多信息,请参阅PyGTK 文档,特别是WidgetColor类。