Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Gtk перехват закрытия окна  (Прочитано 1328 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Shecspi

  • Автор темы
  • Активист
  • *
  • Сообщений: 386
  • Launch Hip-Hop
    • Просмотр профиля
    • PHP-GTK по-русски
Gtk перехват закрытия окна
« : 18 Июнь 2009, 14:11:09 »
Как вызвать функцию при нажатии на кнопку закрытия окна в заголовке? Я пробовал выполнять действия при испускании сигнала destroy, но в таком случае функция вызывается только после закрытия окна, а мне необходимо оставить окно открытым.

Оффлайн Kwah

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: Gtk перехват закрытия окна
« Ответ #1 : 18 Июнь 2009, 14:12:55 »
Может посмотреть код какой-нибудь программы, которая на закрытие окна сворачивает его в трей? Ну, к примеру x-chat?

Оффлайн Shecspi

  • Автор темы
  • Активист
  • *
  • Сообщений: 386
  • Launch Hip-Hop
    • Просмотр профиля
    • PHP-GTK по-русски
Re: Gtk перехват закрытия окна
« Ответ #2 : 18 Июнь 2009, 14:27:16 »
Не вариант. Я там просто не разберусь.

Оффлайн Kwah

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: Gtk перехват закрытия окна
« Ответ #3 : 18 Июнь 2009, 14:59:23 »
Эх. Ну, тогда гуголь: "customize gtk window close button"

Результат: http://faq.pygtk.org/index.py?file=faq10.006.htp&req=edit

В котором написано, что нужно вешать свой обработчик на delete-event, а не на destroy-event, что, как я понял, ты и сделал.

Добавлено:
Кстати, не думаю, что так уж тяжело отыскать в коде вызов диалога подтверждения выхода из программы и посмотреть, как оно устроено.
« Последнее редактирование: 18 Июнь 2009, 15:07:42 от Kwah »

Оффлайн Shecspi

  • Автор темы
  • Активист
  • *
  • Сообщений: 386
  • Launch Hip-Hop
    • Просмотр профиля
    • PHP-GTK по-русски
Re: Gtk перехват закрытия окна
« Ответ #4 : 18 Июнь 2009, 15:19:45 »
Что delete, что destroy - "раздаются" в момент разрушения окна. А мне необходимо обработать нажатие кнопки и оставить окно на экране.

Оффлайн Sova777

  • Участник
  • *
  • Сообщений: 208
    • Просмотр профиля
    • Несколько слов о NetBeans C/C++ Pack'е
Re: Gtk перехват закрытия окна
« Ответ #5 : 18 Июнь 2009, 15:56:02 »
Пользователь OpenSolaris 2008.11, Ubuntu 8.10, Windows XP. Mac OS X не нравится, стараюсь не использовать.

Оффлайн Shecspi

  • Автор темы
  • Активист
  • *
  • Сообщений: 386
  • Launch Hip-Hop
    • Просмотр профиля
    • PHP-GTK по-русски
Re: Gtk перехват закрытия окна
« Ответ #6 : 18 Июнь 2009, 18:35:07 »
Нет. Смотри HelloWorld: http://library.gnome.org/devel/gtk-tutorial/stable/c39.html#SEC-HELLOWORLD
return TRUE; оставляет окно открытым. Всем спасибо.

 

Страница сгенерирована за 0.082 секунд. Запросов: 24.