在 Glade3 中添加 Gtkstatusbar
adding Gtkstatusbar in Glade3
我是在 linux 中构建应用程序 GUIs 的新手,我发现我使用的工具没有太多教程和文档与最新版本相关。
我正在使用 Glade3 (3.22.1) 并尝试遵循几个不同的教程,但遇到了两个主要障碍:
缺少调色板区域
"palette" 不见了,我只剩下一些 TopLevels、Containers、Control 和 Display 下拉菜单,以及另外两个似乎是 "others" 和 "everything else" (又名,其他图书馆)。
设计界面似乎发生了变化,这是新的 "look" 以保存 space。我使用的是 4K 显示器,我不需要对不动产有如此严格的限制。我使用大型显示器的原因之一是这样我可以立即看到我想看到的一切。
Q1。我可以(重新)引入调色板吗?
缺少 GtkStatusbar(和其他?)
出现在教程调色板中的对象不一定出现在我的版本中的下拉菜单中。
一个值得注意的对象是 GtkStatusbar(此时我还没有搜索或遇到其他对象)。它没有出现在任何下拉列表中,搜索 "All available widgets and objects" 确认 statusbar
小部件不存在。
如果我保存 .glade
文件并直接编辑它,为状态栏对象添加相关的 XML 并重新打开项目,状态栏出现在 window 上。我可以与其交互并分配相关属性,但我仍然无法创建新的状态栏(尽管我可以复制并粘贴我通过代码创建的状态栏)。
Q2。如何使用 Glade (3.22.1) 添加状态栏?
我用谷歌搜索了 "glade3 gtk3 gtkstatusbar statusbar deprecated" 的各种组合,但我只是不知所措。任何帮助表示赞赏。
虽然我使用的是 Ubuntu 18.04,但这是使用跨平台可用的 Glade,这不是一个特定的 Ubuntu 问题(因此没有这样标记,也没有发布到 Ask Ubuntu SE 站点)。
示例文档和教程:
- http://python-gtk-3-tutorial.readthedocs.io/en/latest/gallery.html?highlight=statusbar
它出现在列表底部
- https://developer.gnome.org/gtk3/stable/GtkStatusbar.html
- http://www.gnipsel.com/glade/glade01a.html (2012)
第4项,添加状态栏
- https://www.youtube.com/watch?v=_9amFQEVuIo?t=5m26s (2017)
如果您检查调色板 "control and Display" 部分中突出显示的项目,它是一个状态栏。在屏幕右侧的突出显示上方,您可以看到 "Statusbar properties - GTKStatusbar"
- https://www.tutorialspoint.com/pygtk/pygtk_statusbar_class.htm
一个代码示例,但状态栏是项目中的一个对象。
编辑:我已经研究这个问题好几天了,但一无所获。在最后的努力中,我下载了一个稍旧的版本(3.20.0,因为在 http://glade.gnome.org 上的 "Latest news" 中它指出 3.22.0 是 "sporting awhole UI redisign"。我这样做是为了得到左边的调色板,然而,它似乎非常相似UI。)
虽然我确实发现,在 3.20 版本中存在状态栏,但在 3.22.1 中不存在)
容器(自 3.22.1 起)与容器(自 3.20.0 起)
我最终提交了一份关于此的错误报告,显然这在大约一个月前已在 master 分支中修复,但是尚未发布任何更新。
注意:This bug 已经在 repo 的 master 分支上解决了,但是还没有发布新版本。
注意:发布以供其他人参考,以便其他人更容易修复。
修复:(取自 here 并经过测试)
编辑文件gtk+.xml
(root下):
sudo nano /usr/share/glade/catalogs/gtk+.xml
If nano shows empty/new file look also at: /usr/local/share/glade/catalogs/gtk+.xml
然后搜索(CTRL
+W
): <glade-widget-class-ref name="GtkToolbar"/>
并在其下另起一行放置<glade-widget-class-ref name="GtkStatusbar"/>
。
保存文件(CTRL
+O
)并退出nano(CTRL
+X
)。再次启动glade后,可以在Containers下找到GtkStatusbar。
我是在 linux 中构建应用程序 GUIs 的新手,我发现我使用的工具没有太多教程和文档与最新版本相关。
我正在使用 Glade3 (3.22.1) 并尝试遵循几个不同的教程,但遇到了两个主要障碍:
缺少调色板区域
"palette" 不见了,我只剩下一些 TopLevels、Containers、Control 和 Display 下拉菜单,以及另外两个似乎是 "others" 和 "everything else" (又名,其他图书馆)。
设计界面似乎发生了变化,这是新的 "look" 以保存 space。我使用的是 4K 显示器,我不需要对不动产有如此严格的限制。我使用大型显示器的原因之一是这样我可以立即看到我想看到的一切。
Q1。我可以(重新)引入调色板吗?
缺少 GtkStatusbar(和其他?)
出现在教程调色板中的对象不一定出现在我的版本中的下拉菜单中。
一个值得注意的对象是 GtkStatusbar(此时我还没有搜索或遇到其他对象)。它没有出现在任何下拉列表中,搜索 "All available widgets and objects" 确认 statusbar
小部件不存在。
如果我保存 .glade
文件并直接编辑它,为状态栏对象添加相关的 XML 并重新打开项目,状态栏出现在 window 上。我可以与其交互并分配相关属性,但我仍然无法创建新的状态栏(尽管我可以复制并粘贴我通过代码创建的状态栏)。
Q2。如何使用 Glade (3.22.1) 添加状态栏?
我用谷歌搜索了 "glade3 gtk3 gtkstatusbar statusbar deprecated" 的各种组合,但我只是不知所措。任何帮助表示赞赏。
虽然我使用的是 Ubuntu 18.04,但这是使用跨平台可用的 Glade,这不是一个特定的 Ubuntu 问题(因此没有这样标记,也没有发布到 Ask Ubuntu SE 站点)。
示例文档和教程:
- http://python-gtk-3-tutorial.readthedocs.io/en/latest/gallery.html?highlight=statusbar
它出现在列表底部 - https://developer.gnome.org/gtk3/stable/GtkStatusbar.html
- http://www.gnipsel.com/glade/glade01a.html (2012)
第4项,添加状态栏 - https://www.youtube.com/watch?v=_9amFQEVuIo?t=5m26s (2017)
如果您检查调色板 "control and Display" 部分中突出显示的项目,它是一个状态栏。在屏幕右侧的突出显示上方,您可以看到 "Statusbar properties - GTKStatusbar" - https://www.tutorialspoint.com/pygtk/pygtk_statusbar_class.htm
一个代码示例,但状态栏是项目中的一个对象。
编辑:我已经研究这个问题好几天了,但一无所获。在最后的努力中,我下载了一个稍旧的版本(3.20.0,因为在 http://glade.gnome.org 上的 "Latest news" 中它指出 3.22.0 是 "sporting awhole UI redisign"。我这样做是为了得到左边的调色板,然而,它似乎非常相似UI。)
虽然我确实发现,在 3.20 版本中存在状态栏,但在 3.22.1 中不存在)
容器(自 3.22.1 起)与容器(自 3.20.0 起)
我最终提交了一份关于此的错误报告,显然这在大约一个月前已在 master 分支中修复,但是尚未发布任何更新。
注意:This bug 已经在 repo 的 master 分支上解决了,但是还没有发布新版本。
注意:发布以供其他人参考,以便其他人更容易修复。
修复:(取自 here 并经过测试)
编辑文件
gtk+.xml
(root下):sudo nano /usr/share/glade/catalogs/gtk+.xml
If nano shows empty/new file look also at:
/usr/local/share/glade/catalogs/gtk+.xml
然后搜索(
CTRL
+W
):<glade-widget-class-ref name="GtkToolbar"/>
并在其下另起一行放置
<glade-widget-class-ref name="GtkStatusbar"/>
。保存文件(
CTRL
+O
)并退出nano(CTRL
+X
)。再次启动glade后,可以在Containers下找到GtkStatusbar。