0
点赞
收藏
分享

微信扫一扫

pyside6创建表格的 行列数 根据数组的数据进行返回

from PySide6.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget  

class MyWidow(QWidget):
    def __init__(self):
        super().__init__()

        # 设置窗口标题和大小  
        self.setWindowTitle("表格示例")  
        self.setGeometry(100, 100, 600, 400)  
  
        # 初始化数据  
        DataList = [  
            {"name": "张三", "age": "30", "work": "软件工程师"},  
            {"name": "李四", "age": "25", "work": "数据分析师"},  
            {"name": "王五", "age": "28", "work": "产品经理"}  
        ]  
  
        # 检查数据列表是否为空且至少包含一个字典  
        if DataList and isinstance(DataList[0], dict):  
            # 创建表格并设置列数  
            self.tableWidget = QTableWidget()  
            self.tableWidget.setColumnCount(len(DataList[0]))  
  
            # 自动生成表头  
            self.tableWidget.setHorizontalHeaderLabels(list(DataList[0].keys()))  
  
            # 设置行数  
            self.tableWidget.setRowCount(len(DataList))  
  
            # 填充数据  
            for i, row_data in enumerate(DataList):  
                for j, key in enumerate(row_data.keys()):  
                    self.tableWidget.setItem(i, j, QTableWidgetItem(row_data[key]))  

        # 设置主窗口布局
        self.mainLayout = QVBoxLayout()
        layout = QVBoxLayout(self)
        layout.addWidget(self.tableWidget)
        self.setLayout(self.mainLayout)
        
if __name__=='__main__':
    app = QApplication([])
    window = MyWidow()
    window.show()
    app.exec()

举报

相关推荐

0 条评论