当前位置: 首页 > 文档资料 > PyGTK 中文教程 >

帧类(Frame Class)

优质
小牛编辑
133浏览
2023-12-01

Frame类是gtk.Bin类的子类。 它在放置在其中的子窗口小部件周围绘制装饰边框。 框架可以包含其位置可以定制的标签。

在以下构造函数的帮助下构造gtk.Frame对象 -

frame = gtk.Frame(label = None)

以下是gtk.Frame()类的方法 -

  • set_label(text) - 设置text指定的标签。 如果为None ,则删除当前标签。

  • set_label_widget() - 将gtk.Label以外的小部件设置为frame的标签。

  • 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
  • tk.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)

为了在框周围绘制边框,将其放置在框架窗口小部件中,并将其添加到顶层窗口。

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

例子 (Example)

请注意以下代码 -

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

上面的代码将生成以下输出 -

帧演示