PyQt入门指南二十七 QTableView表格视图组件
# 创建一个QStandardItemModel实例,用于存储表格数据model = QStandardItemModel(4, 2) # 4行2列# 填充模型数据for row in range(4):for column in range(2):item = QStandardItem(f'Row {row}, Column {column}')model.setItem(row, column, item)# 创建一个QTableView实例table_view = QTableView(self)# 设置模型table_view.setModel(model)# 将表格视图添加到布局中layout.addWidget(table_view)# 设置窗口的布局self.setLayout(layout)# 设置窗口的标题self.setWindowTitle('QTableView Example')if __name__ == '__main__':app = QApplication(sys.argv)ex = MyApp()ex.show()sys.exit(app.exec_())
代码解释
-
导入必要的模块:
sys
:用于处理系统相关的操作。QApplication
,QWidget
,QVBoxLayout
,QTableView
:PyQt的GUI组件。QStandardItemModel
,QStandardItem
:用于创建和管理表格数据。
-
创建应用程序类
MyApp
:- 继承自
QWidget
。 - 在
__init__
方法中调用initUI
方法来初始化UI。
- 继承自
-
初始化UI:
- 创建一个垂直布局
QVBoxLayout
。 - 创建一个
QStandardItemModel
实例,用于存储表格数据。这里我们创建了一个4行2列的模型。 - 使用嵌套循环填充模型数据。
- 创建一个
QTableView
实例,并设置模型。 - 将表格视图添加到布局中。
- 设置窗口的布局和标题。
- 创建一个垂直布局
-
运行应用程序:
- 创建
QApplication
实例。 - 创建
MyApp
实例并显示窗口。 - 进入应用程序的主循环。
- 创建
通过这个简单的例子,你可以看到如何在PyQt中使用 QTableView
组件来显示表格数据。你可以根据需要进一步自定义和扩展这个示例,例如添加排序、筛选、编辑等功能。