PyGTK - Kelas AspectFrame
gtk.AspectFrame adalah subclass dari kelas Frame. Widget anak dalam bingkai ini selalu mempertahankan rasio aspeknya (lebar dan tinggi) meskipun jendela utama diubah ukurannya.
Properti rasio widget gtk.AspectFrame menentukan rasio lebar: tinggi widget. Rasio aspek 0,5 berarti lebarnya adalah setengah dari tinggi; rasio aspek 2.0 berarti lebarnya dua kali tinggi. Nilai default untuk properti "rasio" adalah 1.0.
Sintaks berikut digunakan untuk konstruktor kelas gtk.AspectFrame -
gtk.AspectFrame (label = None, xalign = 0.5, yalign = 0.5, ratio = 1.0, obey_child = True)
Itu xalignproperti menentukan fraksi horisontal bebas ruang di sebelah kiri anak. 0,0 berarti tidak ada bebas ruang ke kiri, 1.0 berarti semua gratis ruang ke kiri.
Itu yalignproperti menentukan pecahan ruang bebas vertikal di atas anak. 0,0 berarti tidak ada bebas ruang di atas, 1.0 berarti semua bebas ruang di atas.
Rasio lebar dan tinggi bingkai dipertahankan jika obey_child properti adalah False.
Properti obey_child menentukan apakah rasio akan diabaikan. Standarnya adalah True.
Kode berikut ini mirip dengan yang digunakan untuk kelas Frame. Satu-satunya perbedaan adalah ButonBox ditempatkan di widget AspectFrame.
frm = gtk.AspectFrame(label = None, xalign = 0.5, yalign = 0.5,
ratio = 5.0, obey_child = False)
Note - Properti obey_child disetel ke False karena diinginkan untuk mempertahankan rasio aspek meskipun jendela diubah ukurannya.
Contoh
Perhatikan kode berikut -
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Aspect Frame Demo")
self.set_default_size(250, 200)
self.set_border_width(5)
frm = gtk.AspectFrame(label = None, xalign = 0.5, yalign = 0.5,
ratio = 5.0, obey_child = False)
hb = gtk.HButtonBox()
btn1 = gtk.RadioButton(None,"Degree")
hb.add(btn1)
btn2 = gtk.RadioButton(btn1,"P.G.")
hb.add(btn2)
btn3 = gtk.RadioButton(btn1,"Doctorate")
hb.add(btn3)
frm.add(hb)
frm.set_label("Qualifications")
self.add(frm)
self.connect("destroy", gtk.main_quit)
self.show_all()
if __name__ == '__main__':
PyApp()
gtk.main()
Kode di atas akan menghasilkan jendela asli dan yang diubah ukurannya -
Original Window
Resized Window