Pyside6中QTableWidget使用

目录

一:介绍:

二:演示


一:介绍:

在 PySide6 中,QTableWidget 是一个用于展示和编辑表格数据的控件。它提供了在窗口中创建和显示表格的功能,并允许用户通过单元格来编辑数据。

要使用 QTableWidget,首先需要创建一个 QTableWidget 对象,并设置其行数和列数。可以通过 setRowCount() 和 setColumnCount() 方法来设置行和列的数量。

一旦创建了表格,可以使用 setItem() 方法将数据添加到表格的单元格中。setItem() 方法接受三个参数:行索引、列索引和 QTableWidgetItem 对象,用于指定要添加到表格中的数据。

除了添加数据,QTableWidget 还提供了其他一些功能,如插入和删除行或列、调整单元格大小等。可以使用 insertRow() 和 insertColumn() 方法来插入行或列,使用 removeRow() 和 removeColumn() 方法来删除行或列。

此外,可以通过设置表格的属性来定制表格的外观和行为。例如,可以使用 setHorizontalHeader() 和 setVerticalHeader() 方法来设置表头,使用 setSortingEnabled() 方法来启用排序功能等。

下面是一个简单的示例代码,演示了如何在 PySide6 中使用 QTableWidget:

二:演示

import sys
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QTableWidget, QTableWidgetItem


class MyApp(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('数据表格示例')
        self.setGeometry(100, 100, 500, 500)

        # 创建一个表格
        self.table = QTableWidget()
        self.table.setRowCount(5)  # 设置行数
        self.table.setColumnCount(2)  # 设置列数

        # 添加数据到表格中
        for i in range(5):
            for j in range(2):
                item = QTableWidgetItem(f"行{i + 1}列{j + 1}")  # 创建 QTableWidgetItem 对象并设置文本
                self.table.setItem(i, j, item)  # 将 QTableWidgetItem 对象添加到表格中

        # 创建一个按钮来添加行数据
        self.add_row_button = QPushButton('添加行数据')
        self.add_row_button.clicked.connect(self.add_row)

        # 创建一个按钮来添加列数据
        self.add_column_button = QPushButton('添加列数据')
        self.add_column_button.clicked.connect(self.add_column)

        # 创建一个垂直布局并添加控件
        layout = QVBoxLayout()
        layout.addWidget(self.table)  # 添加表格到布局中
        layout.addWidget(self.add_row_button)  # 添加按钮到布局中
        layout.addWidget(self.add_column_button)  # 添加按钮到布局中
        self.setLayout(layout)  # 设置窗口的布局为垂直布局

    def add_row(self):
        self.table.insertRow(self.table.rowCount())  # 在表格末尾插入一行

    def add_column(self):
        for i in range(self.table.rowCount()):  # 遍历每一行并添加一列数据
            item = QTableWidgetItem(f"新列{i + 1}")  # 创建 QTableWidgetItem 对象并设置文本
            self.table.setItem(i, self.table.columnCount() - 1, item)  # 将 QTableWidgetItem 对象添加到表格中当前行的最后一列
            self.table.setSpan(i, self.table.columnCount() - 1, 1, 2)  # 将当前行的最后一列跨度设置为2,以覆盖新插入的列和原有列
            self.table.setColumnWidth(self.table.columnCount() - 1, 100)  # 设置新插入列的宽度为100像素


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyApp()
    ex.show()
    sys.exit(app.exec_())

Pyside6中QTableWidget使用_第1张图片

你可能感兴趣的:(Pyside6开发,python,开发语言)