0

我仍在处理此链接上的示例:gtkmm statusicon 在创建后退出 我以这种方式更改了功能以打开托盘栏不同的窗口,但没有显示任何内容。

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

我试图用“Gtk::Main::run(w);”运行每个窗口 它可以工作,但我不想为每个窗口运行一个主循环。

4

1 回答 1

1

您正在堆栈上创建窗口对象,因此它在on_statusicon_popup()返回后立即被销毁。如果您希望窗口比函数调用更持久,您需要在堆上创建它并连接到它的“隐藏”信号(或类似信号)并从那里删除对象。

于 2010-09-03T13:39:00.203 回答