如何用 Box/Grid 替换 HBox/VBox
Posted
技术标签:
【中文标题】如何用 Box/Grid 替换 HBox/VBox【英文标题】:How do you replace HBox/VBox with Box/Grid 【发布时间】:2013-10-23 04:10:23 【问题描述】:HBox
和 VBox
的文档包括以下语句:
已弃用:改用 Box,这是一种非常快速且简单的更改。 但我们建议切换到 Grid,因为 Box 最终会消失。
但是,“快速简单的改变”应该是什么并不明显。
你如何使用Box
和/或Grid
来实现VBox
或HBox
的功能?
【问题讨论】:
【参考方案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_start
、pack_end
。
使用 Grid,如果你 scrutinize the documentation,你会看到这一行:
Grid 可以像 Box 一样使用,只需要使用 Gtk::Container::add(),它 将孩子们在确定的方向上并排放置 方向属性。
所以,它应该像设置方向一样简单,然后 add
您的子小部件。
【讨论】:
以上是关于如何用 Box/Grid 替换 HBox/VBox的主要内容,如果未能解决你的问题,请参考以下文章
如何用 setKeepAliveTimeout 方法替换 UIRemoteNotificationTypeVoip 方法?