PyGTK - Çerçeve Sınıfı

Çerçeve sınıfı, gtk.Bin sınıfının bir alt sınıfıdır. İçine yerleştirilen alt parçacığın etrafına dekoratif bir kenarlık çizer. Çerçeve, konumu özelleştirilebilen bir etiket içerebilir.

Bir gtk.Frame nesnesi, aşağıdaki yapıcının yardımıyla oluşturulur -

frame = gtk.Frame(label = None)

Aşağıdakiler gtk.Frame () sınıfının yöntemleridir -

  • set_label(text) - Bu, etiketi şu şekilde ayarlar: text. EğerNonemevcut etiket kaldırılır.

  • set_label_widget() - Bu, çerçeve için etiket olarak gtk.Label dışında bir widget ayarlar.

  • set_label_align(x, y) - Bu, çerçevenin etiket widget'ının ve dekorasyonunun hizalamasını ayarlar (varsayılanlar 0,0 ve 0,5'tir)

  • set_shadow_type() - Bu, çerçevenin gölge türünü ayarlar.

Olası değerler -

  • gtk.SHADOW_NONE
  • gtk.SHADOW_IN
  • gtk.SHADOW_OUT
  • gtk.SHADOW_ETCHED_IN
  • tk.SHADOW_ETCHED_OUT

Aşağıdaki kod, Çerçeve küçük aracının işleyişini gösterir. Gtk.RadioButton’un üç nesnesinden oluşan bir grup, bir HButtonBox içine yerleştirilir.

btn1 = gtk.RadioButton(None,"Degree")
btn2 = gtk.RadioButton(btn1,"P.G.")
btn3 = gtk.RadioButton(btn1,"Doctorate")
hb = gtk.HButtonBox()
hb.add(btn1)
hb.add(btn2)
hb.add(btn3)

Kutunun etrafına çerçeve çizmek için, bir Çerçeve widget'ına yerleştirilir ve üst düzey pencereye eklenir.

frm = gtk.Frame()
frm.add(hb)
self.add(frm)

Misal

Aşağıdaki kodu inceleyin -

import gtk

class PyApp(gtk.Window):
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Frame Demo")
      self.set_default_size(250, 200)
      self.set_border_width(5)
      frm = gtk.Frame()
      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()

Yukarıdaki kod aşağıdaki çıktıyı üretecektir -