PyGTK - Kelas Kotak
Kelas gtk.Box adalah kelas abstrak yang mendefinisikan fungsionalitas penampung tempat widget ditempatkan di area persegi panjang. Widget gtk.HBox dan gtk.VBox berasal darinya.
Widget anak di gtk.Hbox disusun secara horizontal di baris yang sama. Di sisi lain, widget turunan dari gtk.VBox disusun secara vertikal di kolom yang sama.
gtk.Box class menggunakan konstruktor berikut -
gtk.Box(homogenous = True, spacing = 0)
Properti homogen diatur ke True secara default. Hasilnya, semua widget turunan diberikan alokasi yang sama.
gtk.Box menggunakan mekanisme pengemasan untuk menempatkan widget anak di dalamnya dengan mengacu pada posisi tertentu, baik dengan referensi ke awal atau akhir. pack_start () metode menempatkan widget dari awal hingga akhir. Sebaliknya, metode pack_end () menempatkan widget dari awal hingga akhir. Alternatifnya, Anda bisa menggunakan metode add () yang mirip dengan pack_start ().
Metode berikut tersedia untuk gtk.HBox serta gtk.VBox -
gtk_box_pack_start ()
gtk_box_pack_end ()
gtk_box_pack_start ()
Metode ini menambahkan child ke kotak, dikemas dengan mengacu pada awal kotak -
pack_start(child, expand = True, fill = True, padding = 0)
Berikut ini adalah parameternya -
child - Ini adalah objek widget yang akan ditambahkan ke kotak
expand- Ini disetel ke True jika anak akan diberi ruang ekstra di dalam kotak. Ruang ekstra dibagi antara semua anakwidgets.
fill- Jika Benar, ruang ekstra akan dialokasikan untuk anak. Jika tidak, parameter ini digunakan sebagai pengisi.
padding - Ini adalah ruang dalam piksel di antara widget di dalam kotak.
gtk_box_pack_end ()
Ini menambahkan anak ke kotak, dikemas dengan mengacu pada akhir kotak.
pack_end (child, expand = True, fill = True, padding = 0)
Berikut ini adalah parameternya -
child - Ini adalah objek widget yang akan ditambahkan
expand- Ini disetel ke True jika anak akan diberi ruang ekstra di dalam kotak. Ruang ekstra ini dibagi di antara semua widget anak.
fill - Jika Benar, ruang ekstra akan dialokasikan untuk anak jika tidak digunakan sebagai bantalan.
padding - Ini adalah ruang dalam piksel antara widget di dalam kotak.
set_spacing (spacing) adalah fungsi yang mengatur jumlah piksel untuk ditempatkan di antara anak-anak kotak.
Metode add (widget)diwarisi dari kelas gtk.Container. Itu menambahkan widget ke wadah. Metode ini dapat digunakan sebagai pengganti metode pack_start ().
Contoh
Dalam contoh yang diberikan di bawah ini, jendela tingkat atas berisi kotak vertikal (kotak objek gtk.VBox). Ini pada gilirannya memiliki objek VBox vb dan objek HBox hb. Di kotak atas, label, widget entri, dan tombol ditempatkan secara vertikal. Di kotak bawah, satu set label, entri dan tombol ditempatkan secara vertikal.
Perhatikan kode berikut -
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Box demo")
box = gtk.VBox()
vb = gtk.VBox()
lbl = gtk.Label("Enter name")
vb.pack_start(lbl, expand = True, fill = True, padding = 10)
text = gtk.Entry()
vb.pack_start(text, expand = True, fill = True, padding = 10)
btn = gtk.Button(stock = gtk.STOCK_OK)
vb.pack_start(btn, expand = True, fill = True, padding = 10)
hb = gtk.HBox()
lbl1 = gtk.Label("Enter marks")
hb.pack_start(lbl1, expand = True, fill = True, padding = 5)
text1 = gtk.Entry()
hb.pack_start(text1, expand = True, fill = True, padding = 5)
btn1 = gtk.Button(stock = gtk.STOCK_SAVE)
hb.pack_start(btn1, expand = True, fill = True, padding = 5)
box.add(vb)
box.add(hb)
self.add(box)
self.show_all()
PyApp()
gtk.main()
Kode di atas akan menghasilkan keluaran sebagai berikut -