2014-09-18 2 views
2

QTreeWidgetItem 내에 아이콘을 가운데 놓으려고합니다. setTextAlignment()로 설정된 형식 설정은 열 내의 텍스트에만 적용됩니다. 예를 들면 다음과 같습니다.Qt - QTreeWidgetItem의 가운데 정렬 아이콘

item = new QTreeWidgetItem(tree); 

item->setIcon(0, QIcon(QPixMap(imageFile)); 
item->setTextAlignment(0, Qt::AlignHCenter | Qt::AlignVCenter); 

tree->addTopLevelItem(item); 

이렇게하면 왼쪽 맞춤 아이콘 (있는 경우 텍스트가 가운데 맞춤)이있는 열이 만들어집니다. 아이콘을 사용자 정의 스타일 시트로 가운데 정렬하는 방법이 있습니까?

답변

1

아는 바로는 QTreeWidgetItem 내의 아이콘 위치를 변경하는 간단한 해결책이 없습니다.

해결 방법으로, setItemWidget을 사용하고 잘 중심의 픽스맵을 포함하는 QLabel의 인스턴스를 위젯으로 설정할 수 있습니다.

this answer에서 파생 된 또 다른 솔루션은 작동 할 수 있지만 사소하지는 않습니다. QTreeWidgetItem의 새 클래스 하위를 만들고 페인팅 액션을 조정하면 원하는 위치에 아이콘을 그릴 수 있습니다. 내 생각에 매우 고통 스럽다.

+0

위젯 만들기 및 setItemWidget 사용이 효과적입니다. 감사. – h75