如何用 Box/Grid 替换 HBox/VBox

Posted

技术标签:

【中文标题】如何用 Box/Grid 替换 HBox/VBox【英文标题】:How do you replace HBox/VBox with Box/Grid 【发布时间】:2013-10-23 04:10:23 【问题描述】:

HBoxVBox 的文档包括以下语句:

已弃用:改用 Box,这是一种非常快速且简单的更改。 但我们建议切换到 Grid,因为 Box 最终会消失。

但是,“快速简单的改变”应该是什么并不明显。

你如何使用Box和/或Grid来实现VBoxHBox的功能?

【问题讨论】:

【参考方案1】:

gtkmm3 的一大变化:

Gtk::Box, Gtk::ButtonBox, Gtk::IconView, Gtk::Paned, Gtk::ProgressBar, Gtk::ScaleButton、Gtk::ScrollBar 和 Gtk::Separator 现在派生自 Gtk::Orientable,允许它们的方向(垂直或水平) 无需使用派生类即可指定,例如 Gtk::HBox.

虽然上面没有提到 Grid,但两个容器现在都有一个方法 set_orientation; Box 也可以在构造函数中使用。所以对于 Box,设置方向并使用你常用的pack_startpack_end

使用 Grid,如果你 scrutinize the documentation,你会看到这一行:

Grid 可以像 Box 一样使用,只需要使用 Gtk::Container::add(),它 将孩子们在确定的方向上并排放置 方向属性。

所以,它应该像设置方向一样简单,然后 add 您的子小部件。

【讨论】:

以上是关于如何用 Box/Grid 替换 HBox/VBox的主要内容,如果未能解决你的问题,请参考以下文章

如何用ajax响应替换html元素?

如何用加号“+”号替换空格

如何用 setKeepAliveTimeout 方法替换 UIRemoteNotificationTypeVoip 方法?

如何用 HttpClient 替换 WebClient?

如何用一个字符替换两个字符?

如何用 UISearchBar 替换导航栏?