Cada linha contém uma caixa horizontal (hbox) com vários botões. A chamada para embalar é uma cópia do convite para embalar cada um dos botões na
Hbox
. Cada botão é embalado em hbox da mesma maneira (com os mesmos argumentos para o método pack_start
()). Este é um exemplo do método pack_start () de:
box.pack_start (criança, expandir, fill, padding)
box
é a caixa onde o objeto está embalado. O primeiro argumento, child
, é o objeto a ser embalado. Por enquanto os objetos são botões, o que seria de embalagem em caixas de botões. O argumento de
expand
a pack_start
() e pack_end
() controla se os controles tem que preencher todo o espaço extra no
caixa e, portanto, ele se expande para preencher todo reservado para ela
(área TRUE
); ou se encolhe para apenas ajustar os controles ( FALSE
). Definir expandir para FALSE
pode justificar aos controles esquerda e direita. Caso contrário, eles vão expandir-se para encher a caixa, e o mesmo efeito pode ser obtido utilizando apenas ou pack_start
() ou pack_end
(). O argumento
fill
de controle se o espaço extra é usado nos próprios objetos ( TRUE
) ou espaço como extra no caixa em torno desses objetos ( FALSE
). Só tem um efeito se o argumento expandir também é TRUE
. Python permite que você defina um método ou função com argumentos padrão e argumentos nomeados. Ao longo deste tutorial que define as funções e os métodos com os padrões e argumentos nomeados vão ver quando eles se aplicam. Por exemplo, o método
pack_start
é definido como: box.pack_start (child
,expand
= gtk.TRUE,fill
= gtk.TRUE,padding
= 0) box.pack_end (child
,expand
= gtk.TRUE,fill
= gtk.TRUE,padding
= 0)
child
, expand
, fill
e padding
são palavras-chave (argumentos nomeados). Argumentos expand
, fill
e padding
são os padrões (ou "default") mostradas acima. O argumento child
deve, necessariamente, ser especificado por não ter um valor padrão. As funções que nos permitem criar uma nova caixa são:
hbox = gtk.HBox (O argumentohomogeneous
= gtk.FALSE,spacing
= 0) vbox = gtk.VBox (homogeneous
= gtk.FALSE,spacing
= 0)
homogeneous
de gtk.HBox
() e gtk.VBox
() controla se cada caixa é objecto do mesmo tamanho (por exemplo, a mesma largura de um hbox, ou a mesma altura numa vbox). Se for utilizado, as rotinas do pacote funcionar essencialmente como se o argumento expandir estava sempre ligado. Qual é a diferença entre o
spacing
(está definido para criar a caixa) e padding
(determinado quando os elementos são embalados)? O spacing
entre objectos é adicionado, e padding
é adicionado a cada um dos lados de um objecto. A Figura 4.2, "Embalagem com espaçamento e Padding" ilustra a diferença; passar um argumento de 2 a packbox.py : A Figura 4.3, "empacotado com pack_end ()" ilustra o uso do método
pack_end
() (passar um argumento de 3 a packbox.py ). O rótulo de "final" é embalado com o método pack_end
(). Permanecerá na borda direita da janela quando ela é redimensionada.
Nenhum comentário:
Postar um comentário