PySide2.PYQT中QTableView组件添加复选框的方法

一、使用Qt设计师创建一个窗口并添加一个Table View控件,保存文件名为 tableview.ui

PySide2.PYQT中QTableView组件添加复选框的方法_第1张图片

二、创建python代码

import sys

from PySide2.QtGui import QStandardItemModel, QStandardItem, Qt
from PySide2.QtUiTools import QUiLoader
from PySide2.QtWidgets import QApplication

class Win_Main:
    def __init__(self):

        self.model = QStandardItemModel()

        self.ui = QUiLoader().load('tableview.ui')
        # 默认加载浏览器列表
        self.createTableView()

    def createTableView(self):
        # 设置行标签
        self.model.setHorizontalHeaderLabels(['选择框', '序号', 'id'])
        res=[{'id': '1', 'seq': 7},{'id': '2', 'seq': 4}]
        for i, item in enumerate(res):
            # 添加复选框
            item_checked = QStandardItem()
            item_checked.setCheckState(Qt.Unchecked)  # 选中状态,默认未选中
            item_checked.setCheckable(True)  # 是否允许选中

            self.model.appendRow([item_checked, QStandardItem(str(item["seq"])), QStandardItem(item["id"])])

        # 设置模型到TabelView上
        self.ui.tableView.setModel(self.model)

#获取UIC 窗口作权限
app = QApplication([])
WinMain = Win_Main()
WinMain.ui.show()
app.exec_()
sys.exit()

 三、运行效果

PySide2.PYQT中QTableView组件添加复选框的方法_第2张图片

 

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