|
|||||||
События
Время создания: 07.05.2017 11:17
Раздел: Python - PyGTK - Теория - сигналы и события - Привет мир!
Запись: xintrea/mytetra_db_mcold/master/base/1493929545360ewmfv4t/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
В дополнение к механизму сигналов, описанному ранее, существует набор событий, которые отражают механизм событий X Window. Callback-функции также могут быть привязаны к ним. Вот эти события:
Для того, чтобы связать callback функцию с одним из этих событий, нужно использовать метод connect() , описанный ранее, используя одно из вышеназванных событий в качестве параметра name. Callback функции (или методы) для событий несколько отличаются от callback функций для сигналов:
GdkEvent это класс python, который показывает, какие события произошли. Другая особенность событий заключается в типе события. Возможные значения типа:
Доступ к этим значениям осуществляется с помощью приставки gtk.gdk. Например gtk.gdk.DRAG_ENTER. Итак, для того чтобы привязать к событию Callback функцию мы должны сделать что-то похожее на:
Здесь подразумевается что button это виджет GtkButton. Теперь, когда мышь будет наведена на кнопку и нажата, то произойдёт вызов функции button_press_callback. Эта функция объявлена как:
Возвращаемое значение показывает, должно ли событие распространяться дальше с помощью механизма обработки событий GTK+. Возвращение True означает то, что событие было обработано и не должно распространяться дальше. Возвращение False продолжает обычную обработку событий GTK+. Подробности смотрите в Глава 20, События и обработка сигналов Выделение (selection) в GDK и drag&drop API тоже излучают некое число событий, отражающихся в сигналах GTK+. Смотрите Раздел 22.3.2, “Сигналы на перетаскиваемом виджете” and Раздел 22.3.4, “Сигналы при перетаскивании на виджет” для подробностей о создании callback функций для этих сигналов:
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|