2013-02-06 10 views
1

Qt를 처음 사용하며 천천히 돌아가고 있습니다. 내 목표는 QFileSytemModelQListView으로 아이콘의 파일 이름이 랩핑되며 이름이 너무 길면 텍스트가 분할되는 모든 OS에서 발견되는 동작과 유사합니다.Qt 항목 대표단

인터넷을 정독 한 결과, QAbstractItemDelegate을 확장하여 내 특별 그리기 및 텍스트 배치를 수행하는 맞춤 클래스를 만들어야한다고 생각합니다. 그러나 QListView 클래스의 재고가 기본으로 사용되는 기본값 ItemDelegate을 찾을 수 없었습니다.

기본 클래스를 사용하려는 이유는 내 자신의 렌더러에서 작업하는 동안 Qt 구성 요소의 수명주기에 대해 자세히 알아볼 수 있기 때문입니다. QListView 클래스의 기본 렌더러를 어디에서 찾을 수 있는지 궁금한가요?

+1

소스 코드를 사용할 수 있습니다.이 코드를 사용하는 것이 좋습니다. 영감의 근원이며 꽤 잘 문서화되어 있습니다! –

+0

@DanielHedberg 이것은 대단히 유용한 답변이 아니 었습니다. 내가 말한 것처럼 내 질문에, 나는 소스를 보았고 여전히 QListView에 대한 기본 QItemDelegate 및 그 페인트 루틴을 찾을 수 없습니다. –

+0

내 의견을 찾지 못해 죄송합니다. 그것은 대답이되는 것이 아닙니다. 내 대답을 더 자세히 보아라. –

답변

1

QListView에 아이콘이 표시되도록하려면보기 모드를 을 사용하여 QListView::IconMode으로 설정하면됩니다. 그래도 표시 기능을 사용자 정의하려면 사용자 정의 항목 대리자를 구현해야합니다. QItemDelegate을 서브 클래 싱하고 paint()을 사용자 정의 구현으로 대체하는 것이 가장 좋습니다.