|
|
|
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)
|