含有章节索引的中文 文章模板

::-- ehu4ever [2005-08-08 10:15:15]

Contents

  1. 魔力box

1. 魔力box

多数情况下,packing是用box来实现的。我们可以用一些不可见的widget来组织其它可见的widget,可是水平文向或是垂直方向。当我们把widget放进一个水平方向的box时,box里的widget是从左到右或是大右到左排列的。如果是一具垂直方向的box,里面的widgets则是从上到下或是从下到上排列。

而且你还可以利用各种box的组合,来实现自己想要的窗口。

我们用gtk.HBox()来创建一个水平box,类似的用gtk.VBox()来创建一个垂直的box。pack_start()和pack_end()用来把widget放入box里,pack_start()是按正方向排放,而pack_end()正好相反。这两个函数可以让我实现widget在box中的左对齐和右对齐的方式。我们这个例子里是用pack_start(),放入box的widget可能自己就是一个container,so cool!实际上,很多widget本身就是container,包括gtk.Button,不过它只能包含一个gtk.Label。

利用以上的这些函数,我们可以将widget放在主窗口中它们应该在的地方,GTK会帮我们搞定诸如缩放等一些琐碎的事,而且另外还有很多的选项可以用来确定pack的各种细节。你可以想象一下,这时一个可以自己创造的天堂。