PyGTK를 사용하여 그룹의 모든 라디오 버튼을 선택 취소 할 수 있습니까? 시작시 라디오 버튼을 확인하지 않으므로 모두 체크되지 않은 상태로 되돌릴 수있는 방법이 있어야한다고 생각합니다.그룹의 모든 라디오 버튼을 선택 취소하는 방법이 있습니까? (PyGTK)
답변
없어야합니다. 본질적으로 라디오 버튼 그룹은 '많은 것 중 하나를 선택하십시오'유형의 컨트롤입니다. 인간의 관점에서, 그 중 하나가 항상 선택된다는 아이디어가 있습니다. 프레임 워크는 실제로이를 강제해야하므로 그룹에 '선택되지 않은'상태가 있어서는 안됩니다. 라디오 버튼 그룹이 선택되지 않은 상태 (가능한 프레임 워크에서)는 사용자에게 컨트롤을 가져올 수있는 상태가 아니기 때문에 매우 혼란 스럽습니다.
'선택 안함'상태를 원할 경우 그룹에 '없음'요소를 추가해야하며, 그렇지 않으면 원하는대로 수행 할 수있는 다른 컨트롤 유형을 선택해야합니다.
감사합니다. "없음"라디오 버튼을 추가했습니다. :) – linkmaster03
전혀 동의하지 않습니다. 라디오 그룹이 다른 위젯과의 상호 작용에 영향을받지 않는 상황을 상상해보십시오. 항목을 선택하지 않아야합니다. GTK 자체는 당신이 어떤 상상의 규칙에 의해 행동하도록 강제하지 않을 것입니다. –
@Ali A : 여전히 선택을하지 않아야합니다. 그룹은 상호 작용할 수 없다는 표시로써 시각적으로 다른 그룹 (대부분의 시스템에서 회색으로 표시)이되어야합니다. 양호한 UI에서는 다른 컨트롤의 설정을 되돌릴 경우 라디오 버튼이 다른 컨트롤을 터치하기 전의 상태로 되돌아 가야하기 때문에 이전 선택이 여전히 존재해야합니다. –
새로운 상태가 이전 상태와 다른 경우 버튼을 클릭 한 것처럼 시뮬레이션합니다. 그런 다음 라디오 버튼 코드는 그룹의 다른 라디오 버튼이 활성 상태인지 확인하고 그렇지 않은 경우 변경된 것을 거부합니다.
예상대로 그룹을 만들 때 첫 번째 라디오 버튼이 항상 활성화로 설정되어 있어야합니다. 표시되지 않으면 버그 일 가능성이 높습니다. 사용자가 만든 첫 번째 버튼에 대해 radio_button.get_active
이 True
(UI에 표시되지 않는 경우에도)인지 확인하는 것이 좋습니다.
나는 모든 라디오 버튼을 선택 취소하려는 경우 다른 UI 요소를 조사해야하지만 Michael Kohne에 동의합니다.
그 일을 시도했지만 그룹의 라디오 버튼 중 하나를 자동으로 다시 활성화합니다. – linkmaster03
구현을 살펴본 후 대답을 업데이트했습니다. – hallski
코드를 확인해 주셔서 감사합니다! 우리가'set_active (false)'('gtkmm' 말로)에 함수를 주지만 모든 경우에 실제로 그것을 존중하지는 않을 것 같지만, 오 잘. –
나는 Michael에 동의하지만, 기록을 위해이 작업을 수행 할 수 있습니다.
이 작업을 수행하는 한 가지 방법은 활성화 할 수있는 숨겨진 라디오 버튼을 사용하는 것입니다. 그러면 표시되는 모든 버튼이 비활성 상태가됩니다. 빠른 N '더러운 예 : 특히 권장되지
import gtk
window = gtk.Window()
window.set_default_size(200, 200)
rb1 = gtk.RadioButton()
rb2 = gtk.RadioButton()
rb3 = gtk.RadioButton()
rb2.set_group(rb1)
rb3.set_group(rb2)
rb3.set_active(True)
hbox = gtk.HBox()
hbox.add(rb1)
hbox.add(rb2)
hbox.add(rb3)
button = gtk.Button("Click me")
button.connect("clicked", lambda x: rb3.set_active(True))
hbox.add(button)
window.add(hbox)
window.show_all()
rb3.hide()
gtk.main()
최소한 내 컴퓨터에서도 아무 것도없는 요소가 그룹의 첫 번째 요소이고 단순히 모든 상자에 추가되지 않으면 작동합니다. –
모든 일들이 있었음에도 불구하고 나를 위해 일했습니다. 내 GUI에서는 RadioButton이 감도가 낮고 이전 값과 관련이없는 경우 (새 데이터를로드하기 전에 취소 할 수없는 확인 단계)에이 기능이 필요합니다. –
내 솔루션, 화면에 표시되지 않은 같은 그룹에있는 라디오 버튼을 가지고있다.
Glade에서 위젯 추가 버튼의 상황에 맞는 메뉴에서 '위젯을 최상위로 추가'할 수 있습니다. 코드에서 나는 기본적으로 위젯을 표시된 gui에 추가하지 않거나 조심스럽게 (.showall()을 포함한) 표시하지 않습니다.
그래, 방금 내 포함하는 클래스에 더미 RadioButton을 추가하고 단순히 어디에도 표시하지 마십시오. 탈감작시에, 그것은 실제의 모든 (보이는) 버튼이 선택 해제되도록 선택됩니다. –
- 1. 모든 방사 버튼을 선택 취소하는 방법이 있습니까
- 2. QRadioButton : 그룹의 모든 라디오 버튼을 선택되지 않은 상태로 설정합니다.
- 3. 다른 라디오 버튼을 선택하면 라디오 버튼을 선택 취소하는 방법은 무엇입니까? 내가 라디오 버튼의 난이 개 그룹이 어디 방법이 있는지
- 4. 치료와 라디오 버튼을 선택
- 5. JQuery와 라디오 버튼을 선택
- 6. RadioButton 그룹의 모든 값을 선택 취소 할 수 있습니까?
- 7. Android 라디오 버튼을 선택 취소
- 8. Javascript에서 마우스 오른쪽 버튼을 클릭하여 모든 라디오 버튼을 지우는 방법?
- 9. 특정 라디오 버튼을 모두 설정/선택 버튼
- 10. Silverlight 3에서 그룹의 라디오 버튼 가져 오기
- 11. "AsyncWaitHandle.WaitOne()"을 취소하는 방법이 있습니까?
- 12. GridView - asp.net에서 모든 행을 선택 취소하는 방법?
- 13. 라디오 버튼을 "선택 가능"으로 지정하십시오. HTML
- 14. 라디오 버튼을 자동 제출하지만 선택 상태로 유지됨
- 15. 실버 : 라디오 버튼 선택
- 16. 동적 라디오 버튼 내가 동적 라디오 버튼을 선택
- 17. 그룹의 하나의 라디오 버튼이 선택되지 않도록하려면 어떻게합니까?
- 18. 다른 ID가있는 라디오 버튼을 레일에 사용하는 방법이 있습니까
- 19. 라디오 버튼 그룹의 값 얻기
- 20. 여러 라디오 버튼 선택
- 21. 라디오 목록 버튼을 선택 취소하고 선택한 라디오 목록 버튼을 선택하십시오 - Jquery
- 22. jQuery로 그룹의 확인란 선택
- 23. C에서 라디오 버튼을 사용하여 목록 상자의 모든 항목을 선택 및 선택 해제하는 방법
- 24. Javascript를 사용할 때 Apex가 내장되어 라디오 그룹의 가치를 얻고 있습니까?
- 25. 이벤트에 따라 라디오 버튼을 선택하십시오.
- 26. jQuery 모든 라디오 버튼 그룹 선택
- 27. Facebook 그룹의 피드에 메시지를 게시하는 방법이 있습니까?
- 28. 라디오 버튼 선택
- 29. 라디오 버튼을 동적으로 만드시겠습니까?
- 30. 다른 페이지에서 기본 라디오 버튼을 선택하십시오.
시작시 확인하지 않습니까? 나는 그것을 본 적이 없다. –