treewidget を作成し、編集可能な treewidgetitems をいくつか追加しました。
私の目標は、アイテムを入力した後、アイテムの新しい価値をキャッチすることです。
コードは次のとおりです。
QTreeWidgetItem* child = new QTreeWidgetItem();
child->setText(0, "New Folder");
child->setText(1, "--");
child->setText(2, "--");
child->setFlags(child->flags() | Qt::ItemIsEditable);
item[0]->addChild(child);
item[0]->setExpanded(true);
MyTree->editItem(child);
MyTree->setCurrentItem(child);
...
「editItem」が設定されている場合、インターフェイスで新しい値を入力できます。必要なのは、「Enter」キーを押した後に新しい値をキャッチできるようにすることです。アイテムが編集可能になると、名前は「New Folder」になり、テキストが選択され、「blabla」などの新しい名前を入力してEnterキーを押します。
「blabla」をキャッチする必要があります。以下のコードを使用してみました。
....
MyTree->setCurrentItem(child);
QList<QTreeWidgetItem *> item;
item = MyTree->selectedItems();
QString str = item[0]->text(0);
QByteArray latin_str = str.toLatin1();
char *utf8_text = latin_str.data();
しかし、utf8_text は "blabla" ではなく "New Folder" を報告します
何か案が ?