2

我有一个使用 GTK2 用 Ruby 编写的桌面应用程序。这只是一个与 GTK2 一起玩的小型测试应用程序,但我在实现我想做的事情时遇到了问题。有什么方法可以使用 GTK2 获取标题栏(除了设置标题),特别是添加一个按钮(在下图中的最小/最大/等,B 旁边)或向菜单添加一个选项当您单击标题栏上的图标(下图中的 A)时会弹出?

替代文字

我认为可能没有,因为 GTK 旨在与许多不同的窗口管理器一起使用,但我只是想知道是否有。作为一个附带问题,单击“十字”按钮会触发什么事件?目前,如果用户单击该窗口消失但程序没有结束 - 我需要捕获该事件并退出程序。

谢谢你的帮助,包括打我的头,告诉我我有多傻。

4

2 回答 2

1

请注意,在 GTK 3.10 及更高版本中可以使用gtk_window_set_titlebar(). 它用自定义的标题栏替换了窗口管理器的标题栏。GtkHeaderBar是一个很好的自定义标题栏类。

但是,您不能让它看起来像窗口管理器那样,因为您不知道用户正在运行哪个窗口管理器。

于 2014-03-13T06:51:39.160 回答
0

不,标题栏归窗口管理器所有,您通常无法直接访问它。

当用户试图通过单击窗口管理器的按钮关闭窗口时,窗口将收到删除事件

于 2010-09-23T09:32:17.350 回答