|
|
|
import typing
|
|
|
|
|
|
|
|
import qtawesome
|
|
|
|
from PyQt5 import QtGui,QtCore,QtWidgets
|
|
|
|
from PyQt5.QtCore import QAbstractTableModel, QModelIndex, Qt, QSize
|
|
|
|
import sys
|
|
|
|
from PyQt5.QtWidgets import (QApplication, QHeaderView, QStyle, QStyleOptionButton, QTableView, QAbstractItemView)
|
|
|
|
from PyQt5.QtCore import (pyqtSignal, Qt, QAbstractTableModel, QModelIndex, QRect, QVariant)
|
|
|
|
|
|
|
|
|
|
|
|
from PyQt5.QtWidgets import QItemDelegate, QHBoxLayout, QWidget, QTableView
|
|
|
|
from .UserModel import UserButtonDelegate, UserCheckBoxDelegate
|
|
|
|
from .UserModel import UserTableModel
|
|
|
|
from ..VarManages.VarTable import CheckBoxHeader
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class UserTableView(QTableView):
|
|
|
|
def __init__(self, parent=None):
|
|
|
|
super(UserTableView, self).__init__(parent)
|
|
|
|
self.setItemDelegateForColumn(9, UserButtonDelegate(self))
|
|
|
|
self.setItemDelegateForColumn(8, UserCheckBoxDelegate(self))
|
|
|
|
self.setItemDelegateForColumn(7, UserCheckBoxDelegate(self))
|
|
|
|
self.setItemDelegateForColumn(6, UserCheckBoxDelegate(self))
|
|
|
|
self.setItemDelegateForColumn(5, UserCheckBoxDelegate(self))
|
|
|
|
|
|
|
|
self.setShowGrid(False)
|
|
|
|
# self.setAlternatingRowColors(True)
|
|
|
|
self.setSelectionBehavior(QAbstractItemView.SelectRows)
|
|
|
|
|
|
|
|
|
|
|
|
self.model = UserTableModel([' ID', '用户名', '登陆密码', '备注', '创建时间', '工程管理权限', '通讯配置权限', '用户管理权限','趋势查看权限','操作'],[], table = self)
|
|
|
|
self.setModel(self.model)
|
|
|
|
self.header = CheckBoxHeader(changeY = True)
|
|
|
|
self.header.setObjectName('userHeader')
|
|
|
|
self.header.setStretchLastSection(True)
|
|
|
|
self.header.setSectionResizeMode(QHeaderView.Stretch)
|
|
|
|
self.header.checkClicked.connect(self.model.headerClick)
|
|
|
|
self.setHorizontalHeader(self.header)
|
|
|
|
self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
|
|
|
|
self.verticalHeader().setDefaultSectionSize(50)
|
|
|
|
self.verticalHeader().hide()
|
|
|
|
|
|
|
|
|
|
|
|
self.header.setSectionResizeMode(0, QHeaderView.Fixed)
|
|
|
|
self.header.resizeSection(0, 70)
|
|
|
|
|
|
|
|
def cellButtonClicked(self):
|
|
|
|
print(1)
|