You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.6 KiB
Python

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)