PyGTK-フレームクラス
フレームクラスは、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の3つのオブジェクトのグループが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()
上記のコードは次の出力を生成します-