PyGTK - Frame 類



Frame 類是 gtk.Bin 類的子類。它在其中放置的子部件周圍繪製一個裝飾性邊框。框架可以包含一個標籤,其位置可以自定義。

gtk.Frame 物件可以使用以下建構函式建立:

frame = gtk.Frame(label = None)

以下是 gtk.Frame() 類的幾種方法:

  • set_label(text) − 此方法設定由 text 指定的標籤。如果為 None,則刪除當前標籤。

  • set_label_widget() − 此方法設定一個除 gtk.Label 之外的部件作為框架的標籤。

  • set_label_align(x, y) − 此方法設定框架標籤部件和裝飾的對其方式(預設值為 0.0 和 0.5)

  • set_shadow_type() − 此方法設定框架的陰影型別。

可能的值包括:

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

以下程式碼演示了 Frame 部件的功能。一組三個 gtk.RadioButton 物件放置在一個 HButtonBox 中。

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)

為了在框周圍繪製邊框,將其放置在 Frame 部件中,並將其新增到頂級視窗。

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

示例

請觀察以下程式碼:

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

以上程式碼將生成以下輸出:

Frame Demo
廣告
© . All rights reserved.