首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在 PyGTK 中管理部件几何结构(1)

在 PyGTK 中管理部件几何结构(1)

GTK+ 工具箱和它的 PyGTK 绑定包有一些便利的容器。如果只需将一组部件放在一起,水平的 gtk.HBox 或垂直的 gtk.VBox 通常就足够了。如果要同时在这两个方向上对齐,通常可以使用        gtk.Table。但是在某些情况下,您可能想通过设置一些更精细的需求来获得更好的外观。
通常,放置和调整部件大小并非计算密集型任务,但是可能涉及不同的因素和细节,需要多方考虑。因此,使用解释语言创建一个管理器,便可以快速尝试不同的方法和设置。本文描述的容器也许将鼓励 PyGTK        开发人员编写或改进其他的容器。另外,它也可能鼓励在其他 GUI 工具箱中实现类似的容器策略。
本文的主角 是一个用于创建图形用户界面的极易使用、功能丰富的工具箱。它的优势在于跨平台兼容性和易于使用的 API。GTK+ 是用 C 编写的,但是绑定了很多其他的流行编程语言,例如 C++、Python 和 C#。

是用于 Python 的 GTK+ — 它帮助您使用 Python 编程语言轻松创建具有图形用户界面的程序。

流行的对齐部件包括用于水平方向的  和用于垂直方向的 。

至于水平和垂直两个方向上的布局,可以考虑 。

关于表的权重让我们来看一个表容器的实现,在这个表容器中,行和列的像素大小可以通过指定的权重进行扩展。但是,在详细讨论之前,我们来看一些例子。
以下三个例子中的每个例子都有一组不同的按钮子集,并且有一个附件策略。对于每个例子,首先显示一个较小的像素空间,之后显示更大的像素空间。
  • 这里有一个单独的按钮,其左边留出 20 个像素,并且平等共享按钮本身与其右空白之间的额外的水平像素空间。在垂直方向上,按照与(上边距,按钮本身,下边距)对应的(1,4,2)的比例分配额外空间。
    图 1. 较小空间内的单个按钮 图 2. 较大空间内的单个按钮
  • 现在我们有两个按钮,两者之间的大小比例为 2:3,额外水平空间比例为 1:3。
    图 3. 较小空间内的两个按钮 图 4. 较大空间内的两个按钮
  • 接下来是多列需求,我们希望 “middle7/8” 按钮获得 7/8 的额外 水平像素空间。
    图 5. 较小空间内的多列需求 图 6. 较大空间内的多列需求
返回列表