LINUX.ORG.RU

Хм, а я использую 'key-press-event':

entry.signal_connect('key-press-event') do |widget, event|
  res = false
  if [Gdk::Keyval::GDK_Return, Gdk::Keyval::GDK_KP_Enter].include?(event.keyval)
    okbutton.activate
    res = true
  elsif (Gdk::Keyval::GDK_Escape==event.keyval)
    entry.text = ''
    cancelbutton.activate
  end
  return res
end
Novator ★★★★★
()
Ответ на: комментарий от kernelpanic

Я тут провел маленькое исследование:

1) сигнал 'activate' есть только у Gtk::Entry, у Gtk::TextView такого нет - приходится юзать 'key-press-event'

2) раньше у сигнала 'key-press-event' был баг - Enter не ловился, хотя Ctrl+Enter, Shift+Enter и Alt+Enter работали. Приходилось ловить Enter в событии 'key-release-event'. Сейчас баг в линуксе вроде устранили, в винде еще не проверял.

Novator ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.