2011-05-16 5 views
0

현재 QToolbox의 다른 서브 페이지에 상호 배타적 인 수집 ​​모드에 대한 컨트롤을 배치 한 데이터 수집 응용 프로그램을 구축하고 있습니다. 현재 선택된 QToolbox 항목이 획득 모드 매개 변수를 선택합니다.Qt4, QToolbox : 도구 상자가 비활성화되어있는 상태에서 일부 자식 위젯을 활성화/액세스 가능하게 함

한 원하는 기능 로크 인터페이스이다 - 파라미터를 변경 한 후, 변경 단순히 중지 구현/ 확정 우발적 인 변경에 대한 UI 요소를 잠금 할 수있는 기능이 적용될 필요 위젯. 획득 모드가 하나의 매개 변수이기 때문에 QToolbox를 잠그는 것을 의미합니다. 그러나 도구 상자 내의 일부 컨트롤은 효과가 즉각적이므로 잠금 해제 상태를 유지해야합니다.

Qt4에서 컨테이너가 사용 중지 된 상태에서 하위 위젯을 사용 가능하게하고 액세스 가능하게 유지하려면 어떻게해야합니까? 또는 어떻게 그러한 동작을 모방하고 그러한 설정을 볼 수 있습니까?

UI에 변경 사항을 제안하지 마십시오. 내 연구 그룹의 모든 사람들이 서로 다른 UI 개념을 테스트하도록했으며 현재의 개념은 가장 직관적이고 직관적 인 개념입니다.

+0

대부분의 QWidget 서브 클래스에는 setEnabled 함수가 있습니다. 귀하의 QToolBox에있는 모든 항목이 QWidget (QPushButton 등)의 하위 클래스라고 가정하고 setEnabled (false)를 설정하여 문제를 해결하지 않겠습니까? – Abhijith

+0

@Abhijith : 나는 setEnabled를 알고 있습니다. 그것은 QToolbox를 비활성화하는 데 사용되는 함수입니다. 불행히도 QToolbox의 setEnabled (false)도 자식에게 영향을줍니다. – datenwolf

+0

글쎄, 내가 실제로 묻는 것은 QToolbox가 아닌 각 항목에서 setEnabled를 호출 할 수 없습니까? – Abhijith

답변

0

결국 QToolBox 대신 QComboBox + QStackedWidget의 조합을 사용하여 문제를 "해결"하고 콤보 박스를 비활성화하여 문제를 해결합니다.

1

컨테이너를 사용하지 않으면 모든 하위 위젯이 사용 중지됩니다. 나는이 행동을 바꿀 수 있다고 생각하지 않는다. 따라서 사용하지 않으려는 모든 하위 위젯을 별도로 비활성화해야합니다.

+0

글쎄, 불행히도 현재 UI 구성표에서 나는 컨테이너를 비활성화해야한다. 왜냐하면 선택된 탭/툴박스 항목이 매개 변수, 즉 획득 모드를 설정하기 때문이다. 선택한 탭/도구 상자를 잠글 수 있다면 충분할 것입니다. – datenwolf