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()
위의 코드는 다음 출력을 생성합니다.