from PyQt5 import QtCore from PyQt5.QtWidgets import QHeaderView, QTableView, QAbstractItemView from PyQt5.QtWidgets import QTableView from .ProjectModel import ProjectButtonDelegate, BackgroundDelegate from .ProjectModel import ProjectTableModel from ..VarManages.VarTable import CheckBoxHeader class ProjectTableView(QTableView): def __init__(self, parent=None): super(ProjectTableView, self).__init__(parent) self.delegate = BackgroundDelegate(self) self.setItemDelegate(self.delegate) self.setItemDelegateForColumn(4, ProjectButtonDelegate(self)) self.setShowGrid(False) self.setSelectionBehavior(QAbstractItemView.SelectRows) self.model = ProjectTableModel([' ID', '工程名称', '工程描述', '创建时间', '操作'],[], table = self) self.setModel(self.model) self.header = CheckBoxHeader(changeY = -15) self.header.setStretchLastSection(True) self.header.setSectionResizeMode(QHeaderView.Stretch) self.header.checkClicked.connect(self.model.headerClick) self.header.setObjectName('projectHeader') self.setHorizontalHeader(self.header) self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.verticalHeader().hide() self.header.setSectionResizeMode(0, QHeaderView.Fixed) self.header.resizeSection(0, 70) # 设置行高 self.verticalHeader().setDefaultSectionSize(60) self.verticalHeader().setMinimumSectionSize(60) # 设置表格属性 self.setAlternatingRowColors(False) self.setWordWrap(True)