2012-03-30 8 views
12

Tôi đã kiểm tra tài liệu here và tôi dường như không thể tìm thấy phương pháp để đặt văn bản tiêu đề hoặc tiêu đề của QTreeWidget.Phương pháp để đặt văn bản cho tiêu đề của QTreeWidget là gì?

Không đặt tiêu đề QTreeWidget tự động sử dụng số '1' trong mã của tôi. Một ví dụ về những gì nó trông giống như xuất ra là dưới đây. Tôi đoán QTreeWidget có một phương pháp cho điều này và tôi không thể tìm thấy nó.

QTreeWidget example

Trả lời

19

Bạn đang tìm kiếm setHeaderLabel.

Lưu ý rằng các tài liệu nói nó bổ sung thêm một cột mới, vì vậy nếu nhìn của bạn đã có cột 0 với văn bản "1", bạn có thể thay vì phải làm như sau:

if(QTreeWidgetItem* header = treeWidget->headerItem()) { 
    header->setText(0, "My Text"); 
} else { 
    treeWidget->setHeaderLabel("My Text"); 
} 
+0

Xin cảm ơn, Không biết tôi đã bỏ lỡ điều đó như thế nào. Tôi sẽ đánh dấu là câu trả lời được chấp nhận khi tôi có thể. –

4

Dưới đây là một phương pháp khác để đặt văn bản tiêu đề

QStringList headerLabels; 
headerLabels.push_back(tr("text1")); 
headerLabels.push_back(tr("text2")); 
headerLabels.push_back(tr("text3")); 
.. 
headerLabels.push_back(tr("textN")); 

treeWidget->setColumnCount(headerLabels.count()); 
treeWidget->setHeaderLabels(headerLabels); 
+0

Điều này rất hữu ích, cảm ơn! – Alan