2011-08-20 3 views
1

테이블의 셀 중 하나가 QComboBox가되기를 바랍니다. 그러나 사용자가 해당 셀을 선택하는 경우에만 항상 표시되도록하고 싶지는 않습니다. 셀을 클릭 한 시간을 감지하고 셀의 항목을 제거한 다음 위젯으로 바꾸고 사용자가 해당 셀을 클릭했을 때 항목으로 다시 전환하는 것보다 더 편리한 방법이 있습니까?QTableWidget의 QComboboxes

답변

4

그 방법은 item delegates을 사용하는 것입니다. 보기/위젯의 setItemDelegate 메소드 중 하나를 사용하여 델리게이트를 설치합니다. 델리게이트는 셀의 표시 및 편집을 담당하므로 직접 클릭/키 처리를 수행 할 필요가 없습니다.

설명서는 모델 /보기 프로그래밍 가이드 delegate classes 섹션 (예제 포함)에 있습니다.