Hallo,
ich habe folgendes Problem. Ich habe ein QTreeWidget dem ich mehrere QTreeWidgetItems hinzufüge (addTopLevelItem). Jetzt möchte ich einfach die Items selektieren (SingleSelection reicht). Das funktioniert auch. Wenn ich aber in einen leeren Bereich klicke erwarte ich, dass alle Items deselektiert werden. Das passiert leider nicht. Im QListWidget funktioniert das. Leider kann ich das nicht benutzen, da ich mehrere Spalten und eine Hierarchie benötige.
SelectionMode ist ExtendedSelection
SelectionBehavior ist Selected Raws
Kann mir jemand helfen?
Vielen Dank,
YouWe
QTreeWidget:Click in leeren Bereich deselektiert Items nicht
Falls es keine einfache Lösung gibt: mousePressEvent() abfangen, prüfen ob unter der Maus ein Item ist ( itemAt(const QPoint & p) ) und dann die Selection von Hand zurücksetzen.
Ciao,
Sephral
Ciao,
Sephral
Zuletzt geändert von Sephral am 21. Mai 2008 11:38, insgesamt 1-mal geändert.
Da schau an, hatte das gleiche Problem (war mir dessen gar nicht bewusst), die gleiche Idee und es auch gleich realisiert
Code: Alles auswählen
void MyTreeWidget::mousePressEvent(QMouseEvent* e)
{
QTreeWidgetItem* item = itemAt(e->pos());
if (!item)
setSelection(frameGeometry(), QItemSelectionModel::Clear);
QTreeWidget::mousePressEvent(e);
}Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.