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:\tools (0,36)
d:\study (0,48)
e:\ (0,60)
当部件中的项超出部件视口范围竖直滚动时,上面的代码输出数据会有变化。
老猿Python,跟老猿学Python! 老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址