PyGTK - Rahmenklasse

Die Frame-Klasse ist eine Unterklasse der Klasse gtk.Bin. Es zeichnet einen dekorativen Rand um das darin platzierte untergeordnete Widget. Der Rahmen kann ein Etikett enthalten, dessen Position angepasst werden kann.

Ein gtk.Frame-Objekt wird mit Hilfe des folgenden Konstruktors erstellt:

frame = gtk.Frame(label = None)

Das Folgende sind die Methoden der Klasse gtk.Frame () -

  • set_label(text) - Hiermit wird die Bezeichnung wie von festgelegt text. WennNonewird das aktuelle Etikett entfernt.

  • set_label_widget() - Dadurch wird ein anderes Widget als gtk.Label als Bezeichnung für den Frame festgelegt.

  • set_label_align(x, y) - Hiermit wird die Ausrichtung des Etiketten-Widgets und der Dekoration des Rahmens festgelegt (Standardeinstellungen sind 0.0 und 0.5).

  • set_shadow_type() - Hiermit wird der Schattentyp des Rahmens festgelegt.

Die möglichen Werte sind -

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

Der folgende Code demonstriert die Funktionsweise des Frame-Widgets. Eine Gruppe von drei Objekten von gtk.RadioButton wird in einer HButtonBox platziert.

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)

Um einen Rahmen um das Feld zu zeichnen, wird es in einem Rahmen-Widget platziert und dem Fenster auf oberster Ebene hinzugefügt.

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

Beispiel

Beachten Sie den folgenden Code -

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()

Der obige Code generiert die folgende Ausgabe: