解决思路就是收起和删除时先把 currentIndex 设置为操作之后的 index。 既然TreeView 的 currentIndex 更新有问题,我们引入 ItemSelectionModel 来处理选择。引入 ItemSelectionModel 后,发现 selection 的 currentIndex 和 TreeView 的 currentIndex 有时候会不一致,高亮优先显示 selection 的,但是按键优先用 view 的,两个...
QTreeView提供了一个名为currentIndex()的方法,该方法返回一个QModelIndex对象,该对象表示当前选中的项。通过这个方法,我们可以获取到当前选中的节点在模型中的索引。 2. 从选中节点中提取内容 一旦我们有了QModelIndex,就可以使用QStandardItemModel(假设你的模型是QStandardItemModel)的itemFromIndex()方法将索引转换为QStandar...
{ delete ui->treeWidget->takeTopLevelItem(ui->treeWidget->currentIndex().row()); std::cout << ui->treeWidget->currentIndex().row() << std::endl; } else { // 如果有父节点就要用父节点的takeChild删除节点 delete currentItem->parent()->takeChild(ui->treeWidget->currentIndex().row()); ...
1、判断是否为根节点 QModelIndex currentIndex = treeView->currentIndex(); QStandardItem* currentItem = model->itemFromIndex(currentIndex);// 如果是根目录,是否存在父节点来判断是否为根目录boolisRootItem = (currentItem->parent() == nullptr); 2、存储并获取数据 // 存储数据QStandardItem* item = new ...
关于currentIndex,遇到一个坑:treeview自有属性currentIndex是只读属性,不可修改,当删除一个节点后,选中删除节点下面的节点(不分父子),curr...
1. 通过QTreeView的currentIndex()函数,获取当前结点的索引 2. 通过QStandardItemModel的itemFromIndex()函数,获取当前结点 3. 通过QStandardItem的parent()函数,获取当前结点的父结点 4. 用父结点添加一个新结点 2.实现 代码如下: // 实例化一个要添加的结点QStandardItem* item =newQStandardItem(QStringLiteral("新...
通过QTreeView函数 currentIndex ()可以获取当前选中条目的QModelIndex,QModelIndex可以看做是QStandardItem的数据封装,知道 QModelIndex就可以知道QStandardItem,通过QStandardItemModel的 itemFromIndex 函数即可得到QModelIndex对应的QStandardItem。 如: QStandardItemModel*model= static_cast< QStandardItemModel*>( ui-> treeView->...
currentIndex = find(currentText); if(count === 4){ editable = false; } } } } } GroupBox { width: 200; height: 120; title: "定制风格"; ComboBox { anchors.top: parent.top; anchors.topMargin: 8; width: parent.width; //editable: true; ...
QTreeView): myclicked = QtCore.Signal(str) def __init__(self, parent=None): super(TreeView, self).__init__(parent) #self.connect(self, QtCore.SIGNAL("doubleClicked(QModelIndex)"), self.emitMyclicked) def emitMyclicked(self,index): index=self.currentIndex() model=in...
通过QTreeView函数 currentIndex ()可以获取当前选中条目的QModelIndex,QModelIndex可以看做是QStandardItem的数据封装,知道 QModelIndex就可以知道QStandardItem,通过QStandardItemModel的 itemFromIndex 函数即可得到QModelIndex对应的QStandardItem。 如: 1QStandardItemModel* model = static_cast< QStandardItemModel*>( ui-> treeVie...