c ++ gtk открыть несколько окон - PullRequest
       9

c ++ gtk открыть несколько окон

0 голосов
/ 03 сентября 2010

Я все еще работаю над примером по этой ссылке: gtkmm statusicon завершает работу после создания Я изменил функцию таким образом, чтобы открывать в трейбар разные окна, но ничего не показывает.

void Tray::on_statusicon_popup(guint button, guint activate_time) {
    printf("popup!\n");
    Gtk::Window w;
    w.show();
}

Я пытался запустить каждое окно с помощью "Gtk :: Main :: run (w);" и это работает, но я бы не хотел запускать основной цикл для каждого окна.

1 Ответ

1 голос
/ 03 сентября 2010

Вы создаете объект окна в стеке, поэтому он уничтожается сразу после возврата on_statusicon_popup().Если вы хотите, чтобы окно выдерживало вызов функции, вам нужно создать его в куче, подключиться к его сигналу «скрыть» (или аналогичному) и удалить оттуда объект.

...