转到 QTableWidget 上视觉单元格的位置

Go To Position of Visual Cell on QTableWidget

我在PyQT5中有一个QTableWidget,我需要转到table的特定视觉位置。

我该怎么做?

当我说视觉时,我的意思是给出行和列,然后在 table 上直观地看到给定的行和列

你必须使用scrollToItem方法,在下一部分中我将展示一个例子:

class Widget(QWidget):
    def __init__(self, *args, **kwargs):
        QWidget.__init__(self, *args, **kwargs)
        hlayout = QHBoxLayout()
        self.rbox = QSpinBox(self)
        self.cbox = QSpinBox(self)
        hlayout.addWidget(self.rbox)
        hlayout.addWidget(self.cbox)
        vlayout = QVBoxLayout(self)
        vlayout.addLayout(hlayout)

        nrows = 50
        ncols = 30
        self.rbox.setMaximum(nrows-1)
        self.cbox.setMaximum(ncols-1)

        self.table = QTableWidget(nrows, ncols, self)
        vlayout.addWidget(self.table)
        for r in range(nrows):
            for c in range(nrows):
                it = QTableWidgetItem("{}-{}".format(r, c))
                self.table.setItem(r, c, it)

        self.rbox.valueChanged.connect(self.moveToItem)
        self.cbox.valueChanged.connect(self.moveToItem)

    def moveToItem(self):
        it = self.table.item(self.rbox.value(), self.cbox.value())
        self.table.scrollToItem(it)

if __name__ == '__main__':
    import sys

    app = QApplication(sys.argv)
    w = Widget()
    w.show()
    sys.exit(app.exec_())