GTKmm Почему сигнал signal_hide () не излучает правильно?

У меня есть контейнер Gtk :: Box (maincontroller) и внутри него есть Gtk :: Grid (mainmenu). Я добавил сигнал в maincontroller.cpp так:

mainmenu->signal_hide().connect(
sigc::mem_fun(this, &MainController::Elmozdulas)
);

Когда я нажимаю кнопку в главном меню, я вызываю функцию hide (), которая работает правильно, я ничего не вижу после этого, но она не выдает сигнал, только если я закрываю окно. Почему это и как я могу это исправить?

Спасибо за ваши ответы заранее!

2

Решение

Вы можете рассмотреть возможность привязки к signal_unmap вместо. Я думаю, что signal_hide вызывается, только если виджет скрыт, а не если один из его родителей. Ни один из них не сработает, если действительно скрыть вызывается потомок mainmenu, а не само mainmenu. В этом случае это выглядело бы так, как будто главное меню было скрыто, но на самом деле все еще было бы видно (и отображено, и реализовано).

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector