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)
當部件中的項超出部件視口範圍豎直滾動時,上面的代碼輸出數據會有變化。