我才刚刚开始学习如何使用 gtkmm,我正在尝试创建一个可以同时打开多个窗口的应用程序(想想,主窗口和控制面板)。
我决定在 Glade 中创建布局,如果这与这个问题有任何关系的话。
我展示两个瓶子的方法或多或少是这样的:
Gtk::Window* main_window = nullptr;
Gtk::Window* servsettings = nullptr;
int main(int argc, char* argv[]) {
auto app = ...
auto builder = ... // these are exluded for brevity
builder->add_from_file("../src/design.glade");
builder->get_widget("main", main_window);
builder->get_widget("servsettings", servsettings);
app->run(*servsettings);
app->run(*main_window);
}
而不是打开两个窗口,而是打开servsettings
,然后在我关闭它时出现段错误。
现在忘记了段错误(我对此感到非常困惑,)我想我可以明白它为什么只打开servsettings
- 我认为这是因为我正在运行应用程序,然后该调用仅在窗口消失时退出?
问题是,我想不出任何其他方法来做到这一点。我尝试了多线程,但决定最好先在这里询问。
在有人建议之前,这个答案对我没有帮助。这是因为他们有一个基于范围的问题。我不。