Как отключить захват фокуса для кнопки инструмента GTK+

Виджет кнопки GTK+ имеет свойство focus_on_click, которое управляет захватом фокуса. Но я использую MenuToolButton, у которого нет такого свойства. Я не хочу фокусироваться на щелчке.

Как избавиться от этого? Спасибо!


person lzap    schedule 29.07.2011    source источник
comment
ты хотел кнопку переключения? (флажок?)   -  person Christian Smith    schedule 30.07.2011
comment
Посмотрите на свойства, связанные с фокусом GtkWidget, если ни одно из них не работает для вас, создайте подкласс GtkMenuToolButton и обработайте событие щелчка в своем методе, прежде чем передавать его родительской реализации.   -  person erick2red    schedule 30.07.2011


Ответы (1)


Если вам не нужен focus_on_click, вам, вероятно, не нужен фокус вообще.

widget.set_can_focus(False)
person saeedgnu    schedule 30.07.2011
comment
Не помогло, схватывает. Очень странный! - person lzap; 31.07.2011
comment
Он захватывает его после запуска (потому что это первая кнопка в окне), а затем, если я нажимаю на что-то еще, он не захватывает его. Частично рабочий... - person lzap; 31.07.2011
comment
Затем установите первоначальный фокус на какой-либо другой виджет. - person lethalman; 31.07.2011
comment
widget.set_can_default(False) может помочь. - person saeedgnu; 07.08.2011
comment
использовал это, чтобы удалить то, что я считаю фокусом, с кнопки (которая графически представляет собой пунктирный прямоугольник внутри кнопки, рядом с ее границей), который настаивал на отображении с самого начала приложения, в самом первом виджете. - person StinkyCat; 16.05.2013