Я создаю программу с использованием Python и Gtk. Я хочу направлять пользователя, указывая на ошибки, если таковые имеются. Я прикрепил образец интерфейса поляны ниже. Здесь пользователь должен ввести правильное имя станции в поле GtkEntry. Я хочу выделить это поле красным цветом (например), если он нажимает кнопку отправки.
Как мне добиться этого в GTK3 с Python?
Во-первых, Вам будет нужно 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)
RBG оценивает за Color
класс находится в диапазоне от 0-65535.
Для получения дополнительной информации см. документацию PyGTK, конкретно Виджет и Цветные классы.