Выделение полей ввода Gtk при неверном вводе пользователем

Я создаю программу с использованием Python и Gtk. Я хочу направлять пользователя, указывая на ошибки, если таковые имеются. Я прикрепил образец интерфейса поляны ниже. Здесь пользователь должен ввести правильное имя станции в поле GtkEntry. Я хочу выделить это поле красным цветом (например), если он нажимает кнопку отправки.

enter image description here

Как мне добиться этого в GTK3 с Python?

4
задан 6 February 2013 в 21:24

1 ответ

Во-первых, Вам будет нужно 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, конкретно Виджет и Цветные классы.

3
ответ дан 6 February 2013 в 21:24

Другие вопросы по тегам:

Похожие вопросы: