PyQt(Python+Qt)学习随笔:QTableWidget的获取指定位置项的item和itemAt方法
阅读原文时间:2023年07月08日阅读:5

1、获取指定行和列的项

根据行和列可以获取对应位置的项,调用语法如下:

QTableWidgetItem item(int row, int column)

如果对应位置没有项,则返回None。

2、获取指定位置的项

QTableWidget的itemAt方法通过视口内的坐标点获取对应坐标位置的项,相关调用方法如下:

  • QTreeWidgetItem itemAt( QPoint p)
  • QTreeWidgetItem itemAt(int x, int y)

通过该方法可以获取到视口上对应坐标所在的项,如果对应坐标位置无项则返回None。

示例代码:
 def showAllVisibleItem(self):
        width = self.tableWidget.viewport().size().width()
        height = self.tableWidget.viewport().size().height()
        preItem = []
        for w in range(width):
            for h in range(height):
                item = self.tableWidget.itemAt(w, h)
                if item == None: continue
                if preItem.count(item):continue
                preItem.append(item)
                print(item.text(), f"的左上角坐标:({w},{h})")
运行界面:

输出信息:
(0,0) 的左上角坐标:(0,0)
(1,0) 的左上角坐标:(0,20)
(2,0) 的左上角坐标:(0,40)
(0,1) 的左上角坐标:(78,0)
(1,1) 的左上角坐标:(78,20)
(2,1) 的左上角坐标:(78,40)
(0,2) 的左上角坐标:(156,0)
(1,2) 的左上角坐标:(156,20)
(2,2) 的左上角坐标:(156,40)