访客地图

PHP-GTK2-文档学习&翻译——教程部分Boxes - GtkHBox and GtkVBox

张成
2015/12

本章介绍的是容器,他们装载各个组件到一行或者一列以排列。

使用pack_start与pack_end来添加各个widget,

pack_start 添加的顺序呢是 从左到右添加 从上到下添加

pack_end 添加的顺序是 从右往左 从下往上 添加

你可以调整布局,通过这2个函数 他们的3个参数例子如下

<?php

$w = new GtkWindow();
$w->set_title('GtkBox test');
$w->connect_simple('destroy', array('gtk', 'main_quit'));
 
$lbl = new GtkLabel('Your name:');
$scrwnd = new GtkScrolledWindow();
$txt = new GtkTextView();
$scrwnd->add($txt);
$btn = new GtkButton('Send');
 
$vbox = new GtkVBox();
$w->add($vbox);
 
$vbox->pack_start($lbl, false);
$vbox->pack_start($scrwnd, true, true);
$vbox->pack_start($btn, false);
 
$w->show_all();
Gtk::main();
?>

还有2种特殊的容器,他们是GtkHButtonBox 和GtkVButtonBox 不过只能包含 GtkButton 用来布局按钮的,他们有自己的布局function.


运行效果测试一:

$vbox->pack_start($scrwnd, true, true);

初始化时这样

捕获.PNG


调整窗口后的变化如下

捕获.PNG


中间的会自动填充满 发生自动缩放 就这事true的效果


改变他的值 可以看到不同的效果。