Während ein Doppelklick auf den Text eines QTreeView die untergeordneten Elemente erweitert, funktioniert ein einzelner Klick nicht. Das im CSS definierte Symbol (und links vom Text platziert) erweitert die untergeordneten Elemente jedoch um einen einzelnen Klick. Wie mache ich es so, dass ein einzelner Klick (oder Berührungsereignis) des Textes die Kinder erweitert?Qt - Erweitern Sie QTreeView mit einem einzigen Klick?
bookTreeView->setModel(standardModel);
bookTreeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
bookTreeView->setWordWrap(true);
bookTreeView->sizeHint();
//bookTreeView->mousePressEvent(QMouseEvent());
bookTreeView->setTextElideMode(Qt::ElideNone);
bookTreeView->setExpandsOnDoubleClick(true);
bookTreeView->setUniformRowHeights(true);
bookTreeView->setHeaderHidden(true);
bookTreeView->setStyleSheet("QTreeView { font-size: 27px; show-decoration-selected: 0; } QTreeView::branch:has-siblings:!adjoins-item { border-image: none; } QTreeView::branch:has-siblings:adjoins-item { border-image: none; } QTreeView::branch:!has-children:!has-siblings:adjoins-item { border-image: none;} QTreeView::branch:has-children:!has-siblings:closed, QTreeView::branch:closed:has-children:has-siblings { border-image: none; image: url(':images/images/right_arrow.png'); } QTreeView::branch:open:has-children:!has-siblings, QTreeView::branch:open:has-children:has-siblings { border-image: none; image: url(':images/images/down_arrow.png'); } ");
Nur eine Notiz, ist dies in der Regel unerwünschtes Verhalten. Die Möglichkeit, eine Ansicht auszuwählen, ohne dass sie erweitert wird, ist im Allgemeinen bevorzugt. – Falmarri
Ich bin mir nicht sicher, warum ich es für eine mobile Anwendung unerwünscht finde - ich möchte nicht, dass alle Kinder mit einem einzigen Klick erweitert werden zu dem Elternteil, auf den ich geklickt habe. Doppelklick scheint für eine mobile App überflüssig zu sein! –