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.