2010-04-14 54 views
6

如何使QTreeWidget中的可擴展標誌始終可見,即使項目doest有任何子項目?以及如何繪製其他東西而不是默認標誌?QTreeWidget展開標誌

由於提前, 塞爾

+0

我不知道回答你的問題的第二部分。 (我建議再次問一個分離的問題。),但我認爲這將涉及QTreeView和一個委託,這可能比堅持默認更多的工作。 – 2010-04-14 19:29:22

回答

9

QTreeWidgetItems有property childIndicatorPolicy。允許值是:

  • QTreeWidgetItem :: ShowIndicator
  • QTreeWidgetItem :: DontShowIndicator
  • QTreeWidgetItem :: DontShowIndicatorWhenChildless

你想第一個。

theItem.setChildIndicatorPolicy(QTreeWidgetItem.ShowIndicator) 
+0

非常感謝,它有所幫助,對於我的問題的第二部分 - 我自己找到了解決方案 – serge 2010-04-14 22:44:41

+0

當孩子有孩子時,你如何隱藏指示器? – swdev 2014-10-18 06:24:16

7

回答我的問題的第二部分爲他人。

我看着在QTreeView則繪圖功能,發現以下幾點:

void QTreeView::drawBranches (QPainter * painter, const QRect & rect, const QModelIndex & index) 

,不管你想在每個項目的左側,該功能你可以借鑑。

而另一個不錯的選擇,這hanlde - 使用樣式表QTreeView則:

http://qt.nokia.com/doc/4.6/stylesheet-examples.html#customizing-qtreeview