ラジオボタン

2014年9月7日

ファイル

11-radio.tar.gz

内容

ラジオボタンを作ります。ここでは、ラジオボタン用の枠を作るために、gtk.Frame を使います。

frame = gtk.Frame("radio button")
frame.set_shadow_type(gtk.SHADOW_ETCHED_IN)
box.pack_start(frame, True, True, 2)

gtk.RadioButton() でラジオボタンを作ります。

r1 = gtk.RadioButton(None, "radio 1")
r2 = gtk.RadioButton(r1, "radio 2")
r3 = gtk.RadioButton(r1, "radio 3")

第 1 引数で r2, r3 を r1 に関連付けしています。

ラジオボタンのチェック用にボタンをつけています。

button = gtk.Button("Check")
box.pack_start(button, False, False, 0)

button.connect("clicked", buttonClicked, group)

クリックイベントのコールバック関数にはラジオボタンのグループを渡しています。

group = r1.get_group()

グループはラジオボタンのリストになっており、その各要素を get_active() でチェックすることによって、どのボタンが選択されているのかがわかります。

def buttonClicked(widget, list):
    for i in range(0, len(list)):
        w = list[i]
        if(w.get_active()):
            print("%d" % (3 - i))
            break

PyGTK プログラミング 目次へ