PyGTK 框架类
框架类是gtk.Bin类的一个子类。它为放置在其中的子部件画一个装饰性的边框。框架可以包含一个标签,其位置可以自定义。
一个gtk.Frame对象是在以下构造函数的帮助下构造的
frame = gtk.Frame(label = None)
以下是gtk.Frame()类的方法 –
- set_label(text) – 这将设置 text 所指定的标签 。 如果 没有 ,当前的标签将被删除。
-
set_label_widget() – 這個方法會設定一個不是gtk.Label的widget作為框架的標籤。
-
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 widget的功能。一组三个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)
例子
观察下面的代码-
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()
上述代码将产生以下输出 –