零门槛掌握arpl-zh_CN:四步高效部署DSM系统实战指南
2026/3/29 13:57:32
在 GTK+ 开发中,容器小部件是构建用户界面的重要组成部分,它们可以帮助我们组织和排列其他小部件。容器小部件主要分为装饰器容器和布局容器两类。
容器类的主要目的是让一个父小部件包含一个或多个子小部件。GTK+ 中有两种类型的容器小部件:
-装饰器容器:为子小部件添加额外功能,如GtkWindow可将子部件置于顶级窗口中,GtkFrame会在子部件周围绘制框架,GtkButton使子部件成为可点击按钮,GtkExpander能隐藏或显示子部件。这些小部件都使用gtk_container_add()来添加子小部件。GtkBin类是一种只能容纳一个子小部件的容器类,它提供了gtk_bin_get_child()函数用于获取子小部件的指针。从GtkBin派生的小部件包括窗口、对齐、框架、按钮等。
-布局容器:用于排列多个小部件,直接从GtkContainer派生。其目的是根据用户偏好、开发者指令和内置规则正确排列子小部件。布局容器包括盒子、固定容器、窗格、表格、笔记本等。
容器除了排列和装饰子部件外,还负责调整子小部件的大小,这一过程分为两个阶段:
1.大小请求(Size