Вот решение, которое работает и не работает segfault
. Сохраните ссылку на Gtk::Application
, скажите, отправьте его как свой номер на ваш основной номер Window class
и позвоните по номеру var app
, вам понадобится позже, это необходимо, потому что в некоторых случаях get_application()
вернется null
.
В удаления обработчика событий вашего окна вызова
app->hold();
hide();
return true;
Не называйте app->release()
, когда вы хотите, чтобы ваше окно появляется снова, так как это сделает ваш выход приложения полностью. Просто позвоните set_visible()
на свой оконный объект, и он появится.
Только две функции, которые я мог найти, - hide() и set_visible(). Оба унаследованы от Gtk :: Widget и оба выхода из приложения. – Dipesh
Вот почему вы никогда не должны сообщать о том, что вы уже пробовали ;-) В вашем вопросе говорится: _Как я скрываю окно, не закрывая его? _ Если вы не говорите, что знаете о 'hide()' и имеете попробовал это уже, тогда люди предполагают, что вам нужно 'hide()', и вы просто не читали документацию. Я не знаю ответа на ваш реальный вопрос, но у меня есть предположение - см. Править. – ptomato
Большое спасибо .. Удерживайте и отпустите те, которые я ищу. – Dipesh