PyGTK Frame类
Frame类是gtk.Bin类的子类。它在放置在其中的子部件周围绘制一个装饰性的边框。Frame可能包含一个可以自定义位置的标签。
可以使用以下构造函数构造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
- gtk.SHADOW_ETCHED_OUT
以下代码演示了框架小部件的功能。在HButtonBox中放置了三个gtk.RadioButton对象的组。
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()
以上代码将生成以下输出−