2010-04-14 12 views
6

Wie mache erweiterbare Anmelden in QTreeWidget immer sichtbar, auch wenn Artikel tun Unterpositionen haben? Und wie zeichne ich etwas anderes anstelle des Standardzeichens?QTreeWidget Erweitern Sie Zeichen

Vielen Dank im Voraus, Serge

+0

Ich weiß nicht, die Antwort auf den zweiten Teil Ihrer Frage. (Ich empfehle wieder in einer separat Frage zu stellen.), Aber ich denke, das QTreeView und einen Delegaten beinhalten wird, das ist wahrscheinlich viel mehr Arbeit als nur den Standard kleben. –

Antwort

9

QTreeWidgetItems haben die property childIndicatorPolicy. Die zulässigen Werte sind:

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

Sie die erste möchten.

theItem.setChildIndicatorPolicy(QTreeWidgetItem.ShowIndicator) 
+0

Vielen Dank, half es, und für den zweiten Teil meiner Frage - fand ich die Lösung selbst – serge

+0

, wie Sie Indikatoren verstecken tun, wenn es Kind hat? – swdev

7

Ich beantworte meinen zweiten Teil der Frage für andere.

Ich suchte nach Funktionen in QTreeView und gefundenen Zeichnung folgende:

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

Mit dieser Funktion können Sie, was Sie wollen auf der linken Seite der einzelnen Elemente zeichnen.

Und noch eine gute Wahl, um hanlde diese - Verwendung Style Sheets für QTreeView:

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