main
parent 325af1b384
commit edd00be72e

@ -10,7 +10,7 @@ from utils.DBModels.DeviceParModels import *
from utils import Globals
from UI.LoadingDataWidget import LoadingDataWidget
from model.ProjectModel.BlockManage import BlockManage, BlockType
from model.ProjectModel.BlockManage import BlockManage, BlockType, TBType
@ -61,7 +61,7 @@ class DynamicAddBlock(QHBoxLayout):
self.buttonlist = []
self.blockViewlist = []
self.tbList = ['PressureTranslationBlock', 'TemperatureTranslationBlock', 'LevelTranslationBlock', 'FlowTranslationBlock'] #存放四个转换块
self.enumList = [BlockType.TB.pressureTB, BlockType.TB.tempTB, BlockType.TB.levelTB, BlockType.TB.flowTB]
self.enumList = [TBType.pressureTB, TBType.tempTB, TBType.levelTB, TBType.flowTB]
self.initUI()
def initUI(self):
@ -150,7 +150,24 @@ class DynamicAddBlock(QHBoxLayout):
self.parameStackWidget.setCurrentIndex(stackIndex)
def deleteLater(self):
while self.count():
item = self.takeAt(0)
widget = item.widget()
if widget:
widget.deleteLater()
layout = item.layout()
if layout:
layout.deleteLater()
if self.parameStackWidget:
while self.parameStackWidget.count():
widget = self.parameStackWidget.widget(0)
self.parameStackWidget.removeWidget(widget)
widget.deleteLater()
self.parameStackWidget.deleteLater()
super().deleteLater()
class BlockParameterManageWidget(QWidget):
@ -162,7 +179,7 @@ class BlockParameterManageWidget(QWidget):
def initUI(self):
self.mainlayout = QVBoxLayout()
self.settingLayout = QHBoxLayout()
self.deviceAddressLabel = QLabel('从站地址')
self.deviceAddressLabel.setObjectName('deviceAddressLabel')
@ -203,33 +220,56 @@ class BlockParameterManageWidget(QWidget):
self.setLayout(self.mainlayout)
def loadBlackData(self):
address = self.deviceAddressEdit.text()
# print(address)
if address:
pattern = re.compile(r'^(?:[1-9]|[1-9][0-9]|1[0-1][0-9]|12[0-5])$')
match = pattern.match(address)
if not match:
QMessageBox.warning(self, '提示', '请输入1 - 125。')
if self.initUIstat:
address = self.deviceAddressEdit.text()
# print(address)
if address:
pattern = re.compile(r'^(?:[1-9]|[1-9][0-9]|1[0-1][0-9]|12[0-5])$')
match = pattern.match(address)
if not match:
QMessageBox.warning(self, '提示', '请输入1 - 125。')
return
if self.initUIstat:
self.splitter.deleteLater()
self.widget.deleteLater()
self.splitter = QSplitter()
self.blockManage = BlockManage(int(address))
Globals.setValue('blockManage', self.blockManage)
blocklist = self.blockManage.getBlockNums()
self.blockLayout = DynamicAddBlock(blocklist)
self.settingLayout.addLayout(self.blockLayout, 7)
self.settingLayout.addWidget(self.splitter, 11)
self.mainlayout.addWidget(self.blockLayout.parameStackWidget, 20)
self.initUIstat = False
else:
reply = QMessageBox.question(self.parent(),
'警告',
"请输入从站地址",
QMessageBox.Yes)
return
if self.initUIstat:
else:
reply = QMessageBox.question(self, '确定', '确定更换站地址吗?',
QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
self.blockLayout.deleteLater()
self.splitter.deleteLater()
self.widget.deleteLater()
self.blockManage = BlockManage(int(address))
Globals.setValue('blockManage', self.blockManage)
self.splitter = QSplitter()
blocklist = self.blockManage.getBlockNums()
self.blockLayout = DynamicAddBlock(blocklist)
self.settingLayout.addLayout(self.blockLayout, 7)
self.settingLayout.addWidget(QSplitter(), 11)
self.settingLayout.addWidget(self.splitter, 11)
self.mainlayout.addWidget(self.blockLayout.parameStackWidget, 20)
self.initUIstat = False
else:
reply = QMessageBox.question(self.parent(),
'警告',
"请输入从站地址",
QMessageBox.Yes)
return
else:
return
def refreshData(self):
if self.initUIstat:
reply = QMessageBox.question(self.parent(),
'警告',
"请先连接设备",
QMessageBox.Yes)
return
self.loadingDataWidget = LoadingDataWidget()
self.loadingDataWidget.loadData()
blockView = self.blockLayout.parameStackWidget.currentWidget()
@ -237,8 +277,8 @@ class BlockParameterManageWidget(QWidget):
model = blockView.model
model.updateColumn(5, '查询中sdadadsda\r\nsdasdsasasad\r\nasdsadsad...')
blockName = blockView.blockType
blcoknumber = blockView.blcoknumber + 1
print(blockName, blcoknumber)
blcokIndex = blockView.blcokIndex

@ -208,14 +208,20 @@ class VarButtonDelegate(QItemDelegate):
def refreshData(self):
sender = self.sender()
model = self.parent().model
# index = model.datas[sender.index[0]][0]
# print(index, self.parent().dbModel.__name__, self.parent().blcoknumber + 1)
blockView = self.parent()
model = blockView.model
index = model.datas[sender.index[0]][0]
blockName = blockView.blockType
blcokIndex = blockView.blcokIndex
print(blockName, blcokIndex, index)
self.loadingDataWidget = LoadingDataWidget()
self.loadingDataWidget.loadData()
self.parent().resizeHeader()
class ComboBoxDelegate(QStyledItemDelegate):
def __init__(self, comboxIndex, parent=None):
super(ComboBoxDelegate, self).__init__(parent)
@ -252,5 +258,6 @@ class ComboBoxDelegate(QStyledItemDelegate):
editor.setGeometry(option.rect)
def changeModel(self, index):
print(index,111)
# print(index,111)
pass

@ -29,10 +29,10 @@ class ParamsVHeader(QHeaderView):
class ParmView(QTableView):
def __init__(self, dbModel = None, blcoknumber = None, blockType = None):
def __init__(self, dbModel = None, blcokIndex = None, blockType = None):
super().__init__()
self.dbModel = dbModel
self.blcoknumber = blcoknumber
self.blcokIndex = blcokIndex
self.blockType = blockType
self.setHeader()
self.setupUi()
@ -42,7 +42,7 @@ class ParmView(QTableView):
self.setItemDelegateForColumn(6, VarButtonDelegate(self))
self.setItemDelegateForColumn(5, ComboBoxDelegate(self))
self.model = VarTableModel(['相对索引', '参数名', '描述', '数据类型', '访问', '当前值', '输入值'], [], table = self)
self.model = VarTableModel(['索引', '参数名', '描述', '数据类型', '访问', '当前值', '输入值'], [], table = self)
def setupUi(self):
self.setShowGrid(True)

@ -9,14 +9,16 @@ from protocol.ModBus.DPV1Master import DPV1Master
from model.ProjectModel.ParmManage import Parm
class BlockType(Enum):
class TB(Enum):
flowTB = -1
tempTB = -2
levelTB = -3 # 物位转换块
pressureTB = -4
TB = 1
PB = 0
FB = 2
class TBType(Enum):
flowTB = -1
tempTB = -2
levelTB = -3 # 物位转换块
pressureTB = -4
class BlockManage():
_instance = None
_dpv1Master = None

Loading…
Cancel
Save