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.

48 lines
2.0 KiB
Python

2 years ago
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.header.setSectionResizeMode(0, QHeaderView.Fixed)
self.header.resizeSection(0, 70)
def cellButtonClicked(self):
print(1)