2017-12-26 19 views
0

QWidget을 사용할 때 헤더의 배경색을 변경하고 싶습니다. 다음 방법을 시도했지만 작동하지 않았습니다.QTreeWidget의 머리글 색을 설정하고 나누는 선을 숨기는 방법은 무엇입니까?

QTreeWidgetItem * header = ui->treeWidget->headerItem(); 
header->setBackground(0, QBrush(QColor(185,192,201))); 
header->setBackgroundColor(0, QColor(185,192,201)); 

setStyleSheet("QHeaderView::section { background-color:red }"); 

또한 헤더의 구분선을 숨기는 방법을 알고 싶습니까?

enter image description here

답변

0

헤더 스타일을 변경하는 방법을 찾았지만 이전 방법이 작동하지 않는 이유를 알 수 없습니다.

QHeaderView::section {       
    color: black;        
    padding: 2px;        
    height:20px;         
    border: 0px solid #567dbc;     
    border-left:0px;        
    border-right:0px;       
    background: #f9f9f9;       
} 
0

왜 당신은 단지 스타일 시트를 사용하지 않는?

YourQTreeWidget QHeaderView::section { 
    background-color: red; // for the bakcground 
    border-right: none; // right-border of each section 
    border-left: none; // left border of each section 
} 
+0

시도해 보았지만 코드가 작동하지 않지만 다음 코드가 유용합니다. 코드가 작동하지 않는 이유를 모르겠습니다. 'QHeaderView :: 섹션 {\t \t \t \t \t \t \t 색상 : 검정; \t \t \t \t \t \t \t \t \t 패딩 : 2 픽셀; \t \t \t \t \t \t \t \t \t 높이 : 20 픽셀; \t \t \t \t \t \t \t \t \t 국경 : 0 픽셀 고체 #의 567dbc; \t \t \t \t \t \t border-left : 0px; \t \t \t \t \t \t \t \t 경계 오른쪽 : 0px; \t \t \t \t \t \t \t \t 배경 : # f9f9f9; \t \t \t \t \t \t } – Veaxen

0

당신이 here을 읽을 수 있듯이 (당신은 당신의 예에서 보는 바와 같이) (이 헤더와 행 항목의 차이 때문이라고 나는 생각한다) 헤더 항목에 대한 작동하지 않습니다 setBackgroundColor합니다. QHeaderView을 다시 구현하거나 위에서 설명한 옵션을 시도해야합니다.