您可以使用scrollToItem()方法将QTableWidget滚动到指定表项的位置。

以下是一个示例代码:

from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget, QPushButton

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.table_widget = QTableWidget()
        self.table_widget.setRowCount(10)
        self.table_widget.setColumnCount(10)

        for row in range(10):
            for column in range(10):
                item = QTableWidgetItem(f"({row}, {column})")
                self.table_widget.setItem(row, column, item)

        layout = QVBoxLayout()
        layout.addWidget(self.table_widget)

        widget = QWidget()
        widget.setLayout(layout)
        self.setCentralWidget(widget)

        button = QPushButton("Scroll to (5, 5)")
        button.clicked.connect(self.scroll_to_item)
        layout.addWidget(button)

    def scroll_to_item(self):
        item = self.table_widget.item(5, 5)
        self.table_widget.scrollToItem(item)

if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

运行该代码,将会显示一个包含有10行10列的QTableWidget和一个按钮。当点击按钮时,表格将会滚动到(5, 5)位置的表项

QTableWidget 直接滚动到指定表项的位置

原文地址: http://www.cveoy.top/t/topic/i0Wx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录