PyGTK-ToggleButton 클래스

ToggleButton 위젯은 두 가지 상태가있는 gtk.Button입니다. pressed or active (또는 켜짐) 상태 및 normal or inactive (or off)상태. 버튼을 누를 때마다 상태가 바뀝니다. ToggleButton의 상태는 set_active () 메서드를 사용하여 프로그래밍 방식으로 변경할 수도 있습니다. 버튼 상태를 전환하기 위해 toggled () 메서드도 사용할 수 있습니다.

gtk.ToggleButton 클래스에는 다음과 같은 생성자가 있습니다.

gtk.ToggleButton(label = None, use_underline = True)

여기서 라벨은 버튼에 표시되는 테스트입니다. use_underline 속성이 True 인 경우 텍스트의 밑줄은 다음 문자에 밑줄이 표시되고 니모닉 가속기에 사용되어야 함을 나타냅니다.

gtk.ToggleButton 클래스의 중요한 메서드 중 일부는 다음 표에 나와 있습니다.

set_active () 이것은 active 속성을 값으로 True (활성 또는 누름 또는 켜짐) 또는 False (비활성 또는 정상 또는 꺼짐)
get_active () 이것은 버튼의 상태를 검색합니다.
toggled () 이것은 토글 버튼에 "toggled"신호를 방출합니다.

ToggleButton 위젯은 다음 신호를 내 보냅니다.

전환됨 이것은 토글 버튼 상태가 프로그래밍 방식으로 또는 사용자 작업에 의해 변경 될 때 발생합니다.

아래에 주어진 코드는 ToggleButton 위젯의 사용을 보여줍니다.

두 개의 ToggleButtons 및 Label 위젯이 VBox 컨테이너에 배치됩니다. Button1에 의해 방출되는 토글 된 신호는 콜백 함수 on_toggled ()에 연결됩니다. 이 함수에서 Button1의 상태가 False이면 Button2의 상태가 True로 설정되고 그 반대의 경우도 마찬가지입니다.

if self.btn1.get_active() == True:
   self.btn2.set_active(False)
else:
   self.btn2.set_active(True)

라벨에 버튼의 순간 상태를 표시합니다.

다음 코드를 관찰하십시오-

import gtk

 PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Toggle Button")
      self.set_default_size(250, 200)
      self.set_position(gtk.WIN_POS_CENTER)
      
      vbox = gtk.VBox()
      self.btn1 = gtk.ToggleButton("Button 1")
      self.btn1.connect("toggled", self.on_toggled)
      self.btn2 = gtk.ToggleButton("Button 2")
      self.lbl = gtk.Label()
      
      vbox.add(self.btn1)
      vbox.add(self.btn2)
      vbox.add(self.lbl)
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
   
   def on_toggled(self, widget, data = None):
      if self.btn1.get_active() == True:
         self.btn2.set_active(False)
      else:
         self.btn2.set_active(True)
         state = "Button1 : "+str(self.btn1.get_active())+" 
         Button2 : "+str(self.btn2.get_active())
         self.lbl.set_text(state)
if __name__ == '__main__':
   PyApp()
   gtk.main()

위의 코드는 다음 출력을 생성합니다.