PyQt5基础学习-QTableWidget().findItems(根据文本找出所属位置) 1.QTableWidget().setItem(根据位置设置元素) 2.QTableWidget().verticalScrollBar().setSliderPosition(定位到某一行)
根据查找的文本,对表格中的元素进行搜索, 搜索到的结果返回为item元素, 通过item.row()返回行, item.col()返回列
""" 在表格中快速定位到特定的行 1. 数据的定位: findItems 2. 如果找到满足条件的单元格, 会定位到单元格所在的行: setSliderPosition(row) """ import sys from PyQt5.QtWidgets import * from PyQt5 import QtCore from PyQt5.QtGui import QColor, QBrush from PyQt5 import QtWidgets class DataLocation(QWidget): def __init__(self): super(DataLocation, self).__init__() self.initUI() def initUI(self): self.setWindowTitle("QTableWidget 例子") self.resize(600, 800) layout = QHBoxLayout() tableWidget = QTableWidget() tableWidget.setRowCount(40) tableWidget.setColumnCount(4) layout.addWidget(tableWidget) for i in range(40): for j in range(4): itemContent = "(%d, %d)" % (i, j) tableWidget.setItem(i, j, QTableWidgetItem(itemContent)) self.setLayout(layout) #搜索满足条件的Cell text = "(13, 1)" #进行精确匹配 items = tableWidget.findItems(text, QtCore.Qt.MatchExactly) if len(items) > 0: item = items[0] item.setBackground(QBrush(QColor(0, 255, 0))) item.setForeground(QBrush(QColor(255, 0, 0))) row = item.row() #定位到指定的行 tableWidget.verticalScrollBar().setSliderPosition(row) if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) main = DataLocation() main.show() sys.exit(app.exec_())
每天更新pyQt5内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?