0623更新

main
ZHANGXUXU\95193 4 months ago
parent ac858950e1
commit 8413662da9

@ -1,6 +1,6 @@
from PyQt5 import QtCore
from PyQt5.QtWidgets import (QHeaderView, QStyle, QStyleOptionButton, QTableView, QAbstractItemView)
from PyQt5.QtWidgets import QHeaderView, QStyle, QStyleOptionButton, QTableView, QAbstractItemView, QDesktopWidget
from PyQt5.QtCore import (pyqtSignal, Qt, QRect)
@ -78,6 +78,7 @@ class VarTableView(QTableView):
self.setupUi()
def setHeader(self):
self.setItemDelegateForColumn(11, VarButtonDelegate(self))
self.setItemDelegateForColumn(5, ModbusTypeBox(self))
self.setItemDelegateForColumn(10, ModbusVarModelBox(self))
@ -90,16 +91,34 @@ class VarTableView(QTableView):
self.setAlternatingRowColors(True)
self.setSelectionBehavior(QAbstractItemView.SelectRows)
self.setModel(self.model)
self.header = CheckBoxHeader()
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.setupColumnWidths()
self.header.setSectionResizeMode(0, QHeaderView.Fixed)
self.header.resizeSection(0, 70)
def setupColumnWidths(self):
self.setCustomColumnWidths([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2])
def setCustomColumnWidths(self, ratios):
# 计算总比例
totalRatio = sum(ratios)
# 获取窗口宽度
screen = QDesktopWidget().screenGeometry()
width = screen.width() - 300
# 根据比例设置每列的宽度
for i, ratio in enumerate(ratios):
columnWidth = int(width * (ratio / totalRatio))
self.setColumnWidth(i, columnWidth)
@ -111,7 +130,8 @@ class HartTableView(VarTableView):
self.setItemDelegateForColumn(9, HartButtonDelegate(self))
self.setItemDelegateForColumn(8, HartVarModelBox(self))
self.model = HartModel([' ID', '仪器名', '描述', '电流值', '参数1', '参数2','参数3', '参数4', '值类型','操作'], [], table=self)
def setupColumnWidths(self):
self.header.setSectionResizeMode(QHeaderView.Stretch)
class TcRtdTableView(VarTableView):
def __init__(self, parent=None):
@ -122,7 +142,8 @@ class TcRtdTableView(VarTableView):
self.workThread = RTDTCThread(self)
Globals.setValue('RTDTCThread', self.workThread)
# self.workThread.getValueList.connect(self.getValueList)
def setupColumnWidths(self):
self.header.setSectionResizeMode(QHeaderView.Stretch)
def setHeader(self):
self.setItemDelegateForColumn(10, TcRtdButtonDelegate(self))
self.setItemDelegateForColumn(9, TcRtdVarModelBox(self))
@ -136,6 +157,8 @@ class AnalogTableView(VarTableView):
self.workThread = AnalogThread(self)
Globals.setValue('AnalogThread', self.workThread)
def setupColumnWidths(self):
self.header.setSectionResizeMode(QHeaderView.Stretch)
def setHeader(self):
self.setItemDelegateForColumn(9, AnalogButtonDelegate(self))
self.setItemDelegateForColumn(8, AnalogVarModelBox(self))
@ -150,6 +173,9 @@ class HartSimulateTableView(VarTableView):
self.workThread = HartSimulateThread(self)
Globals.setValue('HartSimulateThread', self.workThread)
def setupColumnWidths(self):
self.header.setSectionResizeMode(QHeaderView.Stretch)
def setHeader(self):
self.setItemDelegateForColumn(10, HartSimulateButtonDelegate(self))
self.setItemDelegateForColumn(9, HartSimulateVarModelBox(self))

Loading…
Cancel
Save