가로 머리글 레이블이있는 QTreeWidget이 있는데, 머리글 레이블을 세로로 나머지는 가로로 그립니다.QTreeWidget의 세로 머리글 레이블
QTreeWidgets의 paintEvent
메서드에서 모든 것을 다시 구현하고 싶지 않기 때문에 머리글 레이블의 paintevent를 제어 한 다음 수퍼 클래스 paintevent
을 호출 할 생각입니다. 이의 라인을 따라
뭔가 :
class MyTreeWidget: public QTreeWidget
{
public void paintEvent (QPaintEvent *e)
{
..... //Draw header labels vertically
QTreeWidget::paintEvent(e);
}
}
나는 headerLabels를 삽입 할 때 각 문자 후 \n
를 삽입하려고했지만, 그게 내가 정말하고 싶지 않아 정말 추악한 해킹과 뭔가.
제 문제는 헤더 항목을 보관하는 방법이나 세로로 페인트하는 법을 모르는 것입니다. 어떤 아이디어?
내 수평 헤더로 맞춤형 QHeaderView 파생 클래스를 어떻게 설치하나요? 현재 QTreeWidget :: setHeaderLabels (QStringList labels)을 사용하여 headerLabels를 설정하고 있습니다. –
'QTreeWidget' 파생 클래스의 생성자 안에는 setHeader (new MyCustomHeader (Qt :: Horizontal, this)); – Matthew
이것은 좋은 제안이며 작동하지만 실제로 문제를 해결하기 위해 QStyle을 사용했습니다. –