我创建了一个 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”后,我可以在界面上输入 manuel 新值。我需要的是在按下“enter”键后能够捕捉到新值。当项目变为可编辑时,名称为“新建文件夹”,文本被选中,我输入一个新名称,例如“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”
任何想法 ?