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 :
Cobalah untuk merubah ukuran window tersebut dan perhatikan ukuran tombol didalamnya.