QTreeWidget的itemAt方法通过视口内的坐标点获取对应坐标位置的项,相关调用方法如下:
- QTreeWidgetItem itemAt( QPoint p)
- QTreeWidgetItem itemAt(int x, int y)
通过该方法可以获取到视口上对应坐标所在的项,如果对应坐标位置无项则返回None。
示例:
以下代码输出树型部件视口范围内的所有项首列文本:
def showAllVisibleItem(self):
height = self.treeWidget.viewport().size().height()
preItem = None
for h in range(height):
item = self.treeWidget.itemAt(0, h)
if item == preItem or item==None: continue
preItem = item
print(item.text(0), f"(0,{h})")
运行界面截图:
输出信息:
c: (0,0)
d: (0,12)
d:work (0,24)
d: ools (0,36)
d:study (0,48)
e: (0,60)
当部件中的项超出部件视口范围竖直滚动时,上面的代码输出数据会有变化。