如何使用 Gtk.Application Gtk+3 Glade Python 更改/切换窗口?

Posted

技术标签:

【中文标题】如何使用 Gtk.Application Gtk+3 Glade Python 更改/切换窗口?【英文标题】:How to change/switch windows using Gtk.Application Gtk+3 Glade Python? 【发布时间】:2018-01-07 08:22:34 【问题描述】:

我阅读了本教程- https://python-gtk-3-tutorial.readthedocs.io/en/latest/application.html

第一段说——

Gtk.Application 包含许多现代重复性任务 应用程序需求,例如处理多个实例,D-Bus 激活、打开文件、命令行解析、启动/关闭菜单管理窗口管理等。

如何使用 Gtk.Application 进行启动/关闭、窗口管理和菜单管理?我找不到任何教程、示例或 API 文档。谁能建议如何做到这一点?我正在使用 Python 2.7.14 和 Pygobject(pygi-aio-3.24.1_rev1-setup)。提前致谢。

【问题讨论】:

我有多个窗口,它们驻留在多个空地文件中,预计将根据需要加载。 在上一个问题中,您说您不希望应用显示为切换窗口。这仍然是真的,还是您正在处理不同的问题? 不,同样的问题。我在这里接受更改 = 切换含义。我不希望它看起来像打开了不同的窗口。只是希望它像任何普通的简单应用程序一样更改窗口。仅此而已。 好吧,看来你已经习惯了与 Gtk 不同的东西了。在 Gtk 中,如果你改变窗口,它看起来就是那样。现在,就像 JoseFonte 在 Gtk 聊天中所说的那样,您可以在 Gtk 窗口中切换小部件。但是 GtkApplication 不会帮助你做到这一点。 【参考方案1】:

启动/关闭表示启动或关闭应用程序。通过双击通常在所述应用程序中使用的文件,可以更轻松地启动您的应用程序。 Simple example

菜单管理 这可以为您的 GtkApplication 中的所有窗口创建一个全局的、相同的菜单。它还可以使 Mac 菜单更容易。由于看起来您使用的是 Windows,因此这对您没有帮助。 docs

窗口管理您可以控制和监控哪些窗口已打开或正在使用,然后在您的应用下次启动时重新打开这些窗口。 docs

其中一些功能可以用于其他目的,但大多数 GtkApplication 功能仅对高级编程要求有用。

【讨论】:

我看到了您链接的文档。但这没有任何意义。具体来说,有一个添加窗口的功能,但没有显示特定窗口的直接功能。然后我是否通过获取特定窗口仅使用 show() 方法显示窗口?这是正确的使用方法吗?我无法弄清楚自己,也没有找到任何涵盖这一点的例子。 您可能找不到示例,因为我还没有看到有人需要/使用它。它适用于边缘情况。是的,我假设在你得到窗口对象后,你会显示()它。 好的。我会尝试这种方法。 检查 GNOME HowDoI 和 GtkWindow present / present_with_time

以上是关于如何使用 Gtk.Application Gtk+3 Glade Python 更改/切换窗口?的主要内容,如果未能解决你的问题,请参考以下文章

Ruby GTK3 如何更改应用程序主题?

在 gtkmm3 中使用 Gtk::Assistant

如何配置Clion编译gtkmm项目

Gtkmm - 隐藏窗口而不关闭应用程序

gtkmm & glade - 多个窗口不工作

GTK+ 3.0:如何将 Gtk.TreeStore 与自定义模型项一起使用?