main
parent 13854f143a
commit f1c96dd10e

@ -7,12 +7,12 @@ from UI.SoftKeyBoardEdit import SoftKeyBoardEdit
class ForceButton(QPushButton):
def __init__(self, number = None, valueLabel = None, valueEdit = None, qualityValueLabel = None, \
qualityValue = None, btnName = None):
qualityLineEdit = None, btnName = None):
super().__init__()
self.valueEdit = valueEdit
self.valueLabel = valueLabel
self.qualityValueLabel = qualityValueLabel
self.qualityValue = qualityValue
self.qualityLineEdit = qualityLineEdit
self.number = number
self.setObjectName('forceBtn')
self.setText(btnName)
@ -26,6 +26,7 @@ class RightAreaWidgets(QWidget):
def __init__(self, areaWidget, order, byteLineEdit, dataType, deviceName):
super().__init__()
self.areaLineEditValue = []
self.qualityEditValueList = []
self.areaLabel = {}
self.areaWidget = areaWidget
self.devicesManange = self.areaWidget.devicesManange
@ -118,14 +119,14 @@ class RightAreaWidgets(QWidget):
qualityLineEdit = SoftKeyBoardEdit('0')
qualityLineEdit.setObjectName('areaLineEdit')
qualityLineEdit.setFixedSize(80, 33)
qualityValue = qualityLineEdit.text()
forceBtn = ForceButton(number = number, valueLabel=areaValueLabel, valueEdit=areaLineEdit, qualityValueLabel=qualityLabel, \
qualityValue=qualityValue, btnName = '强制')
qualityLineEdit=qualityLineEdit, btnName = '强制')
forceBtn.clicked.connect(self.AIAOForceValues)
qualityBtn = ForceButton(number = number, valueLabel=areaValueLabel, valueEdit=areaLineEdit, qualityValueLabel=qualityLabel, \
qualityValue=0, btnName = '故障')
qualityBtn.clicked.connect(self.AIAOForceValues)
qualityLineEdit=qualityLineEdit, btnName = '故障')
qualityBtn.clicked.connect(lambda: self.AIAOForceValues(qualityValue = '0'))
# forceBtn.setFixedSize(50, 27)
forceLayout.addWidget(areaLineEdit,0,2,1,1)
@ -162,30 +163,25 @@ class RightAreaWidgets(QWidget):
return
if dataTypeAndModel in ['主站AO','从站AI']:
pattern = re.compile(r'-?\d*\.?\d+')
match = pattern.match(value, qualityValue)
if not match:
pattern = re.compile(r'^[+-]?(\d+(\.\d*)?|\.\d+)$')
match = pattern.match(value)
match2 = pattern.match(qualityValue)
if not match or not match2:
QMessageBox.warning(self, '提示', '请输入数字。')
return
else:
valueLabel.setText(str(float(value)))
qualityValueLabel.setText(str(float(qualityValue)))
self.areaLineEditValue[number] = [float(value), float(qualityValue)]
self.areaLineEditValue[number] = float(value)
self.qualityEditValueList[number] = float(qualityValue)
return self.areaLineEditValue , self.qualityEditValueList #返回值和质量位值
#判断输入值是否为0和1
elif dataTypeAndModel in ['主站DO','从站DI']:
# pattern = re.compile(r'^[01]$')
# match = pattern.match(value)
# if not match:
# QMessageBox.warning(self, '提示', '请输入0或1。')
# return
# else:
# valueLabel.setText(value)
self.areaLineEditValue[number] = value
return self.areaLineEditValue
return self.areaLineEditValue
def readValues(self, curIndex):
@ -212,25 +208,25 @@ class RightAreaWidgets(QWidget):
def AIAOForceValues(self):
def AIAOForceValues(self, qualityValue = None):
sender = self.sender()
number = sender.number
valueLabel = sender.valueLabel
qualityValueLabel = sender.qualityValueLabel
value = sender.valueEdit.text()
qualityValue = sender.qualityValue
if qualityValue == False:
qualityValue = 0
if qualityValue == '0':
qualityValue = '0'
else:
qualityValue = sender.qualityLineEdit.text()
dataTypeAndModel = self.deviceName[-2:] + self.dataType
curIndex = self.areaWidget.areaTabWidget.currentIndex()
valueList = self.wirteAreaLineEditValue(dataTypeAndModel=dataTypeAndModel, number=number, value=value, qualityValue=qualityValue, \
valueList, qualityValueList = self.wirteAreaLineEditValue(dataTypeAndModel=dataTypeAndModel, number=number, value=value, qualityValue=qualityValue, \
valueLabel=valueLabel, qualityValueLabel=qualityValueLabel )
# print(valueList, curIndex)
if valueList is None:
return
else:
self.devicesManange.writeAreas(deviceName = self.deviceName, areaIndex = curIndex, values = valueList)
self.devicesManange.writeAreas(deviceName = self.deviceName, areaIndex = curIndex, values = valueList, qualityValueList = qualityValueList)
def DIDOForceValues(self):

Loading…
Cancel
Save