2016-07-06 5 views
0

확인란을 선택한 경우 값을 목록에 추가하고 선택을 취소하면 제거하고 싶습니다.Pyqt 50+ Checkboxes ---이 문제를 해결하는 방법

설명서가 약간 혼란 스럽습니다. clicked() toggled() toggle() stateChange()와 다른 여러 가지가 있습니다. 이 모든 것이 목록에 값을 추가하는 데 효과적 일 수 있지만 누군가를 다시 추가하는 대신 선택을 취소하면 어떻게 제거 할 수 있습니까?

이 목록은 다른 기능으로 전달됩니다. 난 그냥 문제가이 작업을 수행하는 가장 좋은 방법을 파악하는 데 문제

는 약 50 개 확인란이 있습니다 및 모든 체크 박스

GUI 내가 한 기능이 작업을 수행 할 수 없습니다 .... 아마와 사전을 사용 값을 목록으로 전달할 문자열로 지정하고 stateChange()에 키를 넣거나 모든 단일 체크 상자에 대해 전체 프로세스를 작성해야합니까?

캐노피에서 디버깅하는 데 익숙해졌지만 캐노피가 PyQt와 작동하지 않아서 이제는 기가 막혔습니다.

감사

+0

달성하고자하는 것에 대한 추가 정보가 필요하지만 목록을 관리하는 대신 함수를 호출하기 전에 모든 체크 박스의 상태를 확인하는 것이 좋습니다. – user3419537

답변

0

당신은 체크 박스에 체크하거나하지 않은 경우 보이는 if -statement를 포함하는 함수에 clicked() 신호를 연결할 수 있습니다.

예 : 당신은 당신이 원하는대로 목록에서 항목을 추가/제거 할 수 -statement if 내부

self.checkbox.clicked.connect(checkbox_state_fu) 

def checkbox_state_fu(self): 
    if self.checkbox.checkState() != 0: 
    # checkState() is only False for 0. 
     state = True 
    else: 
     state = False 

.

관련 문제