2012-10-05 1 views
1

나는 문자열 배열 ([ "옵션 1", "옵션 2", " 옵션 3 "]은 배열 요소에 대한 레이블이있는 3 개의 라디오 버튼을 만듭니다.PyGTK 라디오 버튼이 모두 체크 됨

내 모든 문제는 모든 라디오 버튼이 선택되어 있으며 선택 취소 할 수 없기 때문에 "전환 된"이벤트에 연결할 수 없다는 것입니다. 내가 뭘 잘못하고 있는지 알 수가 없어.

class SelectionWindow(Gtk.Window): 

    def __init__(self): 
     global options 
     super(EmulatorSelectionWindow, self).__init__() 
     self.set_title("Select an Emulator") 
     box = Gtk.VBox(spacing=10) 
     group = Gtk.RadioButton(None, "test radio") 
     box.pack_start(group, True,True, 0) 
     for option in options: 
      r = Gtk.RadioButton(group, option) 
      r.connect("toggled", self.on_radio_selection, option) 
      print "before setting active", r.get_active() 
      r.set_active(False) 
      print "after setting active", r.get_active() 
      box.pack_start(r,True, True, 0) 
     self.add(box) 

    def on_radio_selection(self, widget, data=None): 
     print "toggle pressed", data 

get_active()를 호출 인쇄 문

항상 인쇄 진정한

[편집] 내가

from gi.repository import Gtk 

This is my window

답변

3

그것은 새로운에 있음을 표시하여 프로그램은 gtk를로드하고 버전을 사용하는 정적 메서드 Gtk.RadioButton.new_with_label_from_widget 대신 현재 라디오 버튼을 만드는 데 사용하고 있습니다 (wor pygtk 2.0 버전 용 ks). 코드에서 Gtk.RadioButtonGtk.RadioButton.new_with_label_from_widget으로 변경해보십시오.
희망이 도움이됩니다.

+0

그 트릭을 했어! 고맙습니다! – vosmith