gtkmm & glade - 多个窗口不工作

Posted

技术标签:

【中文标题】gtkmm & glade - 多个窗口不工作【英文标题】:gtkmm & glade - multiple window not working 【发布时间】:2018-05-06 13:57:08 【问题描述】:

使用 gtkmm.h 头文件,我使用 glade 模板创建了一个简单的应用程序。信号工作正常,但我正在尝试更改窗口或在点击事件信号上打开另一个窗口。成员函数触发但另一个窗口未打开。如果我创建不同的 Gtk::Application::create() 则在关闭第一个窗口后还会打开第二个窗口。有人对此有任何想法吗? 任何事情都会有所帮助。

GLib-GIO-CRITICAL **: 19:45:21.107: g_application_parse_command_line: assertion '!application->priv->options_parsed' failed

这是终端中显示的错误。

为应用程序和生成器创建不同实例后的事件出现以下错误,并且第二个窗口仍然失败。

Failed to register: An object is already exported for the interface org.gtk.Application at /org/gtk/Application/anonymous

【问题讨论】:

请发布最少数量的代码以显示问题。 @BryanH 我已经提交了答案,但我在答案中得到了另一个问题的解释。你有什么想法吗。任何事情都有帮助。谢谢。 【参考方案1】:

使用childWindow->show();修复

但仍然存在一个问题,当使用 glade 构建窗口时,如何将 Gtk::Label 等小部件添加到 Gtk::Window 或 Gtk::Box 中。 我通过创建添加但没有显示错误或标签。我做了如下的事情:-

Gtk::Label test;
test.set_label("Hello");
gtkBox->add(test);

有人对此有任何想法吗..?

【讨论】:

以上是关于gtkmm & glade - 多个窗口不工作的主要内容,如果未能解决你的问题,请参考以下文章

带有 gtkmm 的 Glade 构建的 TreeView

进度条 gtkmm Glade

从 Glade 文件构建时,Gtkmm 自定义小部件会引发错误

关于 glade3 和 gtkmm 的 Linux / C++ 帮助

gtkmm 应用程序内存使用量不断增加

gtkmm 对某些 gtk::builder 函数 add_from_file 的未定义引用