[ruby-gnome2-doc-cvs] [Hiki] create - tut-gtk2-packing-box-details

アーカイブの一覧に戻る

ruby-gnome2-hiki-pt_BR****@sourc***** ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 9日 (金) 22:24:40 JST


-------------------------
REMOTE_ADDR = 200.216.146.35
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-gtk2-packing-box-details
-------------------------
= Detalhes das Caixas
{{link "tut-gtk2-packing-theory", "tut-gtk2-packing-intro", "tut-gtk", "tut-gtk2-packing-demo"}}

Por causa dessa flexibilidade, posicionar caixas na GTK pode ser confuso num primeiro momento. Existem muitas op鋏es, e n縊 imediatamente vio como isso tudo junto funciona. No fim, entretanto, existem basicamente 5 estilos diferentes.

{{image_left("packbox1.png")}}{{br}}

Cada linha cont駑 uma caixa horizontal (hbox) com v疵ios bots. A chamada de Gtk::Box#pack um atalho para a chamada para posicionar cada um dos bots dentro do hbox. Cada um dos bots posicionado dentro do hbox da mesma maneira (isto  mesmos argumentos para o m騁odo Gtk::Box#pack_start).

O m騁odo Gtk::Box#pack_start parece com isto:

  Gtk::Box#pack_start(filho, expandir, preencher, espa輟s_externos) 

O primeiro argumento o objeto que vocestposicionando na caixa. Os objetos ser縊 todos bots por enquanto, assim n ficaremos posicionando bots dentro das caixas.

O argumento "expandir" para Gtk::Box#pack_start e Gtk::Box#pack_end controla se os componentes s縊 deitados na caixa:

:Se expandir for verdadeito ("true")
 Os componentes preencher縊 todo o espa輟 extra na caixa, assim a caixa automaticamente expandida para preencher a 疵ea alocada para ela;

:Se expandir for falso ("false")
 A caixa encolhida para que caiba o componente no seu tamanho.

Configurar "expandir" para falso lhe permitirfazer justifica鈬o a direita ou esquerda dos seus componentes. De outro jeito, eles ser縊 todos expandidos para caber na caixa, e o mesmo efeito poderia ser alcan軋do usando apenas um dos m騁odos Gtk::Box#pack_start ou Gtk::Box#pack_end.
 
O argumento "preencher" controla onde o espa輟 dado para o objeto pela op鈬o "expandir" alocado:

:Se "preencher" for verdadeiro
 os objeto extendido para caber no espa輟 alocado;
:Se "preencher" for falso
 o objeto deixado em seu tamanho original, e espa軋mento_externo ("padding") adicionado ao seu redor.

Note que o argumento "preencher" tem apenas um efeito se o argumento "expandir" for verdadeiro.

Quando uma nova caixa horizontal criada, ela se parece com isto:

  Gtk::HBox.new(homog麩eo, espa軋mento) 

O argumento homog麩eo para Gtk::HBox.new (e o mesmo para Gtk::VBox.new) controla se cada objeto na caixa tem o mesmo tamanho (isto  a mesma largura em um hbox, ou a mesma altura em um vbox). Se configurado para verdadeiro, os m騁odos Gtk::Box#pack_start ou Gtk::Box#pack_end trabalhar縊 essencialmente como se o argumento "expandir" estivesse sempre configurado para verdadeiro.

Qual a diferen軋 entre espa軋mento (configurado quando a caixa criada) e espa軋mento_externo ("padding" - configurado quando os elementos s縊 posicionados) ?
Espa軋mento adicionado entre os objetos, e espa軋mento_externo adicionado em qualquer lado de um objeto. O "screenshot" a seguir deve deixar mais claro:

{{image_left("packbox2.png")}}{{br}}

A seguir esto cigo para criar os screenshots acima. Ele estbastante comentados, assim espero que vocn縊 vter problemas ao segulo. Apenas brinque com ele.





ruby-gnome2-cvs メーリングリストの案内
アーカイブの一覧に戻る