PyGTK - класс кадра
Класс 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)
Чтобы нарисовать рамку вокруг блока, он помещается в виджет «Фрейм» и добавляется в окно верхнего уровня.
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()
Приведенный выше код сгенерирует следующий вывод -