【问题标题】:How do I delete the currentItem of a QTreeWidget? [closed]如何删除 QTreeWidget 的 currentItem? [关闭]
【发布时间】:2021-07-29 14:07:00
【问题描述】:

标题说明了一切。我找不到任何有用的东西。我该怎么做?

如何获取 currentItem 的索引或数据?

如何使用self.treeWidget.currentItem.().data()

【问题讨论】:

  • 您好,欢迎来到 StackOverflow。请花点时间关注tour,阅读How to Ask 好问题,并考虑每个帖子只应该问一个问题(当你问3 个时)。也就是说,您是否研究过有关QTreeWidgetQTreeWidgetItem 的文档? (在你问之前,是的,我确实知道那是 C++ 文档,但是 99% 的函数和 PyQt 中的函数完全一样)。
  • 我确实检查了文档
  • 然后呢?因为,如果你想从视图中删除一个项目,做一个简单的页面搜索关键字“删除”或“删除”我可以得到一些,但非常有趣的结果。而如果你想获取或设置某个项目上显示的文本,关键字“text”还有其他一些有趣的结果。抱歉,您的“检查文档”似乎没有那么彻底。
  • 我可能没有用好的关键字搜索它。我的错。我检查了他们的功能。我仍然找不到删除 currentItem 的任何内容。不知道为什么。
  • 这不是查看它是 qtreewidget btw

标签: python pyqt5


【解决方案1】:

获取当前行索引:

self.treeWidget.indexFromItem(self.treeWidget.currentItem(), 0).row()

获取文本:

self.treeWidget.currentItem().text(column)

【讨论】:

  • 添加到解决方案中,我所做的是创建了一个数组。每当我输入一个条目时,我都会将名称插入到数组中(应该是一个不会重复的值,这是我的应用程序中的时间)。当我想删除条目时,我会使用索引遍历数组,检查列数据是否与条目数据匹配。如果是这样,我做了 array.pop(index) 然后更新 qtreewidget。我执行更新功能的方式是清除 qtreewidget 并在插入项目时循环遍历数组。
  • 你也可以使用 self.treeWidget.takeTopLevelItem(self.treeWidget.indexFromItem(self.treeWidget.currentItem(), 0).row()) 但我想从我的反正数组
猜你喜欢
  • 2019-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 2021-01-31
  • 1970-01-01
  • 2019-05-08
  • 1970-01-01
相关资源
最近更新 更多