我目前正在寻找获取QTreeWidget
所选项目名称的方法。
我创建了多个QTreeWidgetItems
来生成类似浏览器的文件。
我需要知道如何获取所选文件夹的名称。
我找到了
this->MyTree->selectedItems();
得到它,但我无法存储应该是QList
格式的反馈。
有关如何存储selectedItems list
?
答案 0 :(得分:3)
来自Qt文档:QTreeWidget Class Reference,QTreeWidgetItem Class Reference
selectedItems()
是QTreeWidget
的函数。
QList QTreeWidget :: selectedItems()const
返回所有选定的非隐藏项目的列表。
text()
是QTreeWidgetItem
QString QTreeWidgetItem :: text(int column)const
返回指定列中的文本。
定义QTreeWidgetItem
列表,以存储selectedItems()
的返回值
对于列表中的每个项目,使用text()
函数来获取它的字符串。
QList<QTreeWidgetItem *> itemList;
itemList = this->MyTree->selectedItems();
foreach(QTreeWidgetItem *item, itemList)
{
QString str = item->text();
//str is what you want
}
答案 1 :(得分:0)
{
...
connect(treeWidget, &QTreeWidget::itemClicked, this, &MyForm::onItemClicked);
connect(treeWidget, &QTreeWidget::itemActivated, this, &MyForm::onItemClicked);
}
void MyForm::onItemClicked(QTreeWidgetItem *item, int) {
if (item == item0) {
stackedWidget->setCurrentWidget(widget0);
}
else if (item == item1) {
stackedWidget->setCurrentWidget(widget1);
}
}