获取选定的QTreeWidget单元格

2024-10-03 02:44:13 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个6行6列的treeWidget。我已经设置了选择行为来选择单个项目,而不是整个行。这和预期的一样,我可以选择单个单元格。我的问题是如何查询当前选定的单元格?在

我试过用treeWidget.selectedItems(),但这将返回一个list-treeWidgetItems,据我所知,它对应于整行。因此,如果在同一行中选择多个列,此命令将返回一个包含单个treeWidgetItem的列表。我找不到任何方法来找出在树状目录中选择了哪些列。在

有什么办法吗?在


Tags: 项目方法命令目录列表list树状办法
1条回答
网友
1楼 · 发布于 2024-10-03 02:44:13

您可能需要使用QItemSelectionModel并调用方法selectedIndexes()

参考http://doc.qt.io/qt-5/qitemselectionmodel.html#selectedIndexes

QItemSelectionModel* model = myTreeWidget->selectionModel();
QModelIndexList indexList = model->selectedIndexes();

for(int i = 0; i < indexList.size(); ++i) {
    QTreeWidgetItem* item = myTreeWidget->itemFromIndex( indexList[i] );
    // do something with each item
}

此外,列表中的各个索引将包含.row()和{}信息,这些信息可能会有所帮助。在

编辑

例如,从索引中使用.column()

^{pr2}$

每次循环运行时,所选的单元格都应该在末尾添加*。在

编辑:修复了调用item->setData( ... )的问题

相关问题 更多 >