2014-09-22 3 views
0

QListWidget을 사용하여 팝업 목록을 구현합니다. 그러나 항목을 마우스로 눌렀을 때 목록을 선택하는 것으로 나타났습니다. 그러나 내가하고 싶은 것은 클릭 할 때 선택하는 것이다. 어떻게 변경할 수 있습니까?QListWidget 선택 제어 방법

업데이트 (위임없이) :

나는 QListWidget의 서브 클래스가 있습니다. 항목에 왼쪽 버튼을 길게 누르면이 목록의 선택이 완료됩니다 (신호 발신, selectedItems() 변경, Qss QListWidget :: item : selected {} 등 변경). 내가 원했던 것은 아이템 위에서 마우스를 놓을 때 이러한 변경을 가하는 것입니다.

+1

하위 클래스 QListWidget – niyou

+0

@niyou 네, 그랬습니다. 그러나 선택 동작을 어떻게 제어 할 수 있습니까? 귀하의 코멘트에 –

답변

0

QListWidget의 기능은 setSelectionModesetSelectionBehaviour입니다. 이것이 당신이 찾고자하는 것이 아니면, 당신이 달성하고자하는 것을 더 명확히 설명하십시오.

질문의 업데이트에 대한 응답으로 위젯의 마우스 이벤트를 처리하여 마우스 다운 이벤트가 발생했을 때 선택을 방지하고 (기본 클래스 기능을 호출하지 않음) 선택 영역 설정을 처리해야합니다 마우스 릴리즈 이벤트에 대한 응답으로

QListWidget은 내부 모델이있는 편리한 클래스이므로 QListView을 사용하면 더 편리 할 것이므로 selection model을 조작 할 수 있습니다.

이렇게하기로 결정한 경우, 사용자가 목록 위젯을 특정 방식으로 사용하기를 기대하고이를 변경하면 사용자를 괴롭 히게 될 가능성이 있기 때문에 적절한 이유가 있는지 확인하십시오.

+0

타이. Plz 내 업데이 트를 참조하십시오. –

+0

@MikeShaw, 응답으로 업데이트 됨. – TheDarkKnight

+0

예, 이벤트 처리기에서 기본 함수 사용을 중단하면 이상한 동작이 많이 발생합니다. 나는 QListView로 전달할 것이다. 타이. –