[C++] [QT4] Möchte die Elemente einer QListWidget editieren

  • Ersteller Ersteller Green Mamba
  • Erstellt am Erstellt am
G

Green Mamba

Gast
Hallo,

ich möchte die QListWidgetItems in der Liste "QListWidget" direkt vom Benutzer editieren lassen können. Dazu soll, wie auch im Windows Explorer üblich, durch einfachen Klick der Curser im Item direkt erscheinen und so das editieren ermöglichen. Wenn ich sowas hier baue:
Code:
    QWidget* testWidget = new QWidget ();
    QListWidget* testList = new QListWidget (testWidget);
    oneLayout= new QHBoxLayout(testWidget);

    oneLayout->addWidget (testList);
    QListWidgetItem* oneItem = new QListWidgetItem ("test");
    testList->addItem (oneItem);
    testList->setEditTriggers(QAbstractItemView::AllEditTriggers);


    testWidget->show();
...kann ich mir den Mauszeiger verbiegen, ich komme nicht in den begehrten Editier-Modus herein!? :(
Wer kann mir den entscheidenden Tipp geben?

Viele Grüße,
Mamba
 
In der Doku zu den EditTriggers lese ich: "The view will only initiate the editing of an item if the action performed is set in this property".

Allerdings habe ich noch nicht rausgefunden, was denn "if the action performed is set in this property" heißen soll.

Ich vermute, dass man das QAbstractItemView Signal clicked(...) mit dem Slot edit(...) verbinden muss (übergeben wird der ModelIndex).

[edit]
War Quatsch :).
So geht's:
Code:
QListWidgetItem* oneItem = new QListWidgetItem("Gelp", ui.listWidget);
[COLOR="Orange"]oneItem->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEditable|Qt::ItemIsEnabled);[/COLOR]
ui.listWidget->setEditTriggers(QAbstractItemView::AllEditTriggers);
Hach... Ich liebe Qt. Diese Lib ist halt echt ein Traum.
 
Zuletzt bearbeitet:
Danke dir Boron, so klappts wirklich. Ich bin auch ein QT-Verliebter. Allerdings ist die Doku zwar sehr gut aber nicht perfekt. So hätte man meines Erachtens bei der editTriggers-Funktion auch kurz auf die Flags verweisen können. Das hätte mir die lange Suche erspart.
Aber gut, was ist schon perfekt. :D
 
Zurück
Oben