Pygtk 简明教程
PyGTK - Frame Class
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)
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()
上述代码将生成以下输出 −