5.2. Packing Table

Selain packing dengan VBox atau HBox terdapat satu packing widget yang penting yaitu packing table.

Dengan packing table kita membuat tabel dimana widget lain akan ditempatkan di dalam kolom dan baris tertentu. Kita lihat fungsi untuk membuat packing table :

    gtk.Table(rows=1,columns=1,homogeneous=FALSE)
rows

jumlah baris. Nilai default 1.

columns

jumlah kolom. Nilai default 1.

homogeneous

menyatakan apakah semua kotak dalam tabel berukuran sama atau tidak. Nilai default FALSE.

nilai kembali

objek packing table

Koordinat tabel dimulai dari 0. Jika kita membuat tabel dengan ukuran rows=2 dan columns=2 , tabelnya akan seperti ini :

   0          1          2
  0+----------+----------+
   |          |          |
  1+----------+----------+
   |          |          |
  2+----------+----------+

Untuk menempatkan widget ke dalam tabel gunakan fungsi berikut :

    table.attach(child,left_attach,right_attach,top_attach,bottom_attach,
    xoptions=EXPAND|FILL,yoptions=EXPAND|FILL,xpadding=0,ypadding=0)    
table

object packing table.

child

widget yang akan ditempatkan di dalam tabel.

left_attach, right_attach, top_attach, bottom_attach

sisi-sisi child widget akan menyentuh posisi : left_attach, right_attach, top_attach, bottom_attach (kiri, kanan, atas, bawah).

xoptions, yoptions

nilai pilihan packing pada arah horisontal dan vertikal. Nilai default EXPAND|FILL. Nilai pilihan packing lainnya adalah SHRINK.

xpadding, ypadding

membuat ruang di sekitar child widget. Nilai default 0

Terdapat tiga pilihan perilaku packing untuk xoptions, yoptions yang dapat dikombinasikan satu dengan yang lain dengan operator OR, '|' :

FILL

child widget akan ikut membesar jika ukuran tabel membesar.

SHRINK

child widget akan ikut mengecil jika ukuran tabel juga mengecil.

EXPAND

biasanya tabel diletakkan di dalam widget container lain. Jika pilihan EXPAND disertakan maka ukuran tabel akan mengikuti ukuran widget di mana tabel diletakkan.

Untuk mengatur spacing terdapat dua fungsi lain yaitu :

    table.set_row_spacing(row,spacing)
    table.set_col_spacing(column,spacing)

set_row_spacing() membuat ruang diantara baris row dengan baris sesudahnya. set_col_spacing() membuat ruang diantara kolom col dengan kolom sesudahnya. Dengan catatan spacing mengembang ke arah kanan atau ke bawah.

Cara lain untuk membuat spacing di antara semua baris atau kolom yaitu :

    table.set_row_spacings(spacing)
    table.set_col_spacings(spacing)

Perhatikan akhiran 's' pada nama fungsi.

Contoh penggunaan tabel dapat kita lihat pada program table.py. Kurang lebih akan menampilkan window seperti :

Gambar 5.4. Packing Table

Packing Table

Cobalah untuk merubah ukuran window tersebut dan perhatikan ukuran tombol didalamnya.