📜  PyQt5 - QTableWidget(1)

📅  最后修改于: 2023-12-03 14:45:45.506000             🧑  作者: Mango

PyQt5 - QTableWidget

介绍

PyQt5是一个用于创建图形用户界面(GUI)的Python库。QTableWidget是PyQt5中的一个小部件,它提供了一种方便的方式来显示和编辑二维表格数据。

QTableWidget可以在表格中显示数据,并且支持各种功能,如排序、编辑和选择。它是基于TableModel的,可以将数据和视图分离,使得数据的管理更加灵活。

特性
  • 通过表格将数据可视化
  • 支持数据的排序和编辑
  • 可以自定义表格的外观和行为
  • 可以通过设置单元格的属性来自定义单元格的样式和行为
  • 支持选择单元格、行和列
  • 支持拖放操作
  • 支持复制和粘贴操作
示例代码

下面是一个简单的使用QTableWidget的示例代码。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem

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

        self.tableWidget = QTableWidget(self)
        self.tableWidget.setGeometry(50, 50, 400, 300)

        self.tableWidget.setColumnCount(3)
        self.tableWidget.setRowCount(4)

        self.tableWidget.setHorizontalHeaderLabels(["Name", "Age", "Country"])

        data = [
            ["John", 25, "USA"],
            ["Alice", 30, "Canada"],
            ["Bob", 35, "UK"],
            ["Emily", 28, "Australia"]
        ]

        for i, row in enumerate(data):
            for j, value in enumerate(row):
                item = QTableWidgetItem(str(value))
                self.tableWidget.setItem(i, j, item)

        self.setCentralWidget(self.tableWidget)
        self.setWindowTitle("QTableWidget Example")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

这个示例创建了一个QTableWidget,并在表格中显示了一些数据。通过setColumnCount()setRowCount()方法可以设置表格的列数和行数。setHorizontalHeaderLabels()用于设置表格的水平表头标签。然后,使用setItem()方法将数据添加到表格中。最后,将表格作为主窗口的中央窗口部件,并显示窗口。

运行示例代码

要运行上述的示例代码,您需要安装PyQt5库,并将代码保存为以.py为后缀的文件。然后,您可以使用以下命令运行代码:

python your_file_name.py

替换your_file_name.py为文件的实际名称。

结论

PyQt5的QTableWidget提供了一个强大的工具来显示和编辑二维表格数据。它的丰富特性使得开发图形用户界面变得更加灵活和简单。你可以进一步探索QTableWidget的各种方法和功能来适应你的具体需求。