Разница между фокусом и сигналами фокусировки (выхода) события - PullRequest
1 голос
/ 13 апреля 2010

В чем разница между сигналами «фокус» и «фокусировка (выход) - событие» в GTK +? Какой из них испускается елей? Как они связаны с клавиатурой (TAB) и щелчками мыши. Они зависят друг от друга?

Я спрашиваю об этом, потому что я хочу отслеживать текущий фокусированный виджет в окне верхнего уровня, и я не хочу проверить флаг HAS_FOCUS каждого виджета, когда мне это нужно. Интересующие меня виджеты находятся глубоко внутри других контейнеров, ящиков и т. Д. Как лучше всего в этой ситуации хранить и обновлять фокусированный указатель виджета?

1 Ответ

1 голос
/ 14 апреля 2010

gtk_window_get_focus () делает то, что вам нужно.

focus-{in,out}-event - это низкоуровневые события, сгенерированные системой XWindow (или что-то на ее месте) и генерируемые первыми. focus генерируется самой GTK +: вы можете думать о нем как о более высоком уровне focus-in-event. Это также означает, что, по крайней мере, теоретически, вы можете иметь виджет без окон (то есть виджет без связанного GdkWindow ), который излучает focus, но не излучает focus-in-event.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...