当前位置: 代码迷 >> 综合 >> PyQt5 QTableView基本功能使用
  详细解决方案

PyQt5 QTableView基本功能使用

热度:27   发布时间:2024-01-16 17:52:10.0

 QTableView基本功能的使用:

1.设置单击选中行

2.设置内容禁止标记

3.设置列标题

4.单击

import sys
from PyQt5.QtWidgets import QTableView, QWidget, QApplication, QVBoxLayout, QDesktopWidget, QAbstractItemView, QMessageBox
from PyQt5.QtGui import QStandardItemModel, QStandardItemclass MainWindow(QWidget):def __init__(self):super(MainWindow, self).__init__()self.model = Noneself.init_data()self.init_ui()self.connect()def init_data(self):max_row = 3max_col = 4self.model = QStandardItemModel(max_row, max_col)for row in range(0, max_row):for col in range(0, max_col):value = str(row) + '----' + str(col)self.model.setItem(row, col, QStandardItem(value))col_titles = ['列标题1', '列标题2', '列标题3', '列标题4']self.model.setHorizontalHeaderLabels(col_titles)def init_ui(self):self.setWindowTitle('QTableView Test')top_layout = QVBoxLayout()table_view_layout = QVBoxLayout()self.table_view = QTableView()self.table_view.setEditTriggers(QAbstractItemView.NoEditTriggers)self.table_view.setSelectionBehavior(QAbstractItemView.SelectRows)self.table_view.setModel(self.model)table_view_layout.addWidget(self.table_view)top_layout.addLayout(table_view_layout)self.setLayout(top_layout)self.table_view.setCurrentIndex(self.model.index(2, 0))def connect(self):self.table_view.clicked.connect(self.table_view_clicked)def table_view_clicked(self, index):table_row = index.row()item = self.model.item(table_row, 0)vale = item.text()QMessageBox.information(self, '提示', '单击{value}'.format(value=vale))if __name__ == "__main__":app = QApplication(sys.argv)main_window = MainWindow()main_window.show()sys.exit(app.exec_())