Wie kann ich das ausgewählte Element in einem QTreeWidget?
Habe ich eine Klasse QTreeWidget erbt. Wie finde ich die aktuell ausgewählte Zeile?
In der Regel Verbinde ich die Signale an den slots diese Weise:
connect(myButton, SIGNAL(triggered(bool)), this, SLOT(myClick()));
Aber ich kann nicht finden, etwas ähnliches für QTreeWidget->QTreeWidgetItem
.
Die einzige Möglichkeit, die ich gefunden ist, neu zu definieren, die mousePressEvent der QTreeWidget Klasse wie folgt aus:
void MyQTreeWidget::mousePressEvent(QMouseEvent *e){
QTreeView::mousePressEvent(e);
const QModelIndex index = indexAt(e->pos());
if (!index.isValid())
{
const Qt::KeyboardModifiers modifiers = QApplication::keyboardModifiers();
if (!(modifiers & Qt::ShiftModifier) && !(modifiers & Qt::ControlModifier))
clearSelection();
}
}
Ich nicht versuchen, es noch. Ist die einzige Lösung, oder gibt es eine einfachere Möglichkeit?
InformationsquelleAutor Giancarlo | 2008-12-02
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mithilfe der itemClicked() signal verpassen keine Auswahl-änderungen über die Tastatur ein. Ich gehe davon aus, dass eine schlechte Sache in Ihrem Fall.
InformationsquelleAutor Parker Coates
Staubig ist fast richtig. Aber die itemSelectionChanged signal wird Ihnen nicht sagen, welches Element ausgewählt ist.
geben Sie das ausgewählte Element(s).
So, schließen Sie einen slot, um die itemSelectionChanged signal, dann rufen Sie selectedItems() auf dem Baum-widget, um das ausgewählte Element(s).
InformationsquelleAutor Thomas Watnedal
können Sie verwenden Sie einfach diese :
um Ihren text in die variable Wort.
InformationsquelleAutor Sofiane
Gemäß der Dokumentation hier es scheint, dass Sie eine Verbindung herstellen sollte, die QTreeWidget itemSelectionChanged() signal an einen slot in eurer Klasse. Das wird Ihnen sagen, welche QTreeWidgetItem ausgewählt wurde, die ist, was ich glaube, was Sie wollen.
InformationsquelleAutor Dusty Campbell
ooops, hab ich einfach gelöst:
aber danke für die Antworten 😀
InformationsquelleAutor Giancarlo