2016-07-20 6 views
0

QListWidget이있는 QWizardPage가 있습니다. QListWidget에서 적어도 하나의 항목이 선택되었을 때만 다음 버튼을 사용할 수 있기를 바랍니다. registerField (...)를 사용하여 필수로 설정하려고 시도했지만 아무 것도하지 않는 것 같습니다. 또한 registerField 명령의 속성을 ("selectedItems()"로 변경하려고 시도했지만 비활성화 된 상태에서 멈추었습니다.QListWidget의 항목 선택 필수 항목입니다.

정말 QWizardPage에 대한 새로운 수정 된 클래스를 만들고 isComplete()를 다시 구현하고 싶지 않습니다. 다른 방법이 있습니까?

감사합니다.

답변

0

QListWidgets에는 항목이 활성화 (선택) 될 때 신호가 있습니다. 이 신호를 다음 버튼을 활성화하는 슬롯에 연결할 수 있습니다. 당신의 QWizardPage 물건의 아비를 닮지 않고

next_button.setEnabled(True) 

이 당신이 그것을 할 수 있도록해야합니다

당신은

QListWidget.itemActivated.connect(self.enable_button) 

같은과 enable_button 기능에 뭔가를 사용할 수 있습니다, 당신은 단지 버튼을 활성화 할 수

+0

그래도 작동하지 않습니다. QWizard에 포함 된 버튼에는 "setEnabled/setDisabled"를 적용 할 수 없습니다. – Omer

+0

코드를 게시하면 더 잘 도와 줄 수 있습니다. –

+0

'setupUi' 함수 전체가별로 관심을 갖지 않을 것이라고 생각합니다. 기본적으로'QListWidget'과 관련된 유일한 것은 수정 된 Wizard 클래스의'__init__' 함수에있는 'self.wizard_page_features.registerField ('features *', self.features_list)'입니다. btw :'self.wizard_page_features'는'QListWidget'을 가진'QWizardPage'이고,'self.features_list'는'QListWidget' 자체입니다. – Omer