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
以下代码演示了框架小部件的功能。 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()
上面的代码会产生如下输出 −

