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
    • 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)
    
    为了在框周围绘制边框,将其放置在 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()
    
    上面的代码将生成以下输出 -
    框架演示