main
parent 325af1b384
commit edd00be72e

@ -10,7 +10,7 @@ from utils.DBModels.DeviceParModels import *
from utils import Globals from utils import Globals
from UI.LoadingDataWidget import LoadingDataWidget 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.buttonlist = []
self.blockViewlist = [] self.blockViewlist = []
self.tbList = ['PressureTranslationBlock', 'TemperatureTranslationBlock', 'LevelTranslationBlock', 'FlowTranslationBlock'] #存放四个转换块 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() self.initUI()
def initUI(self): def initUI(self):
@ -150,7 +150,24 @@ class DynamicAddBlock(QHBoxLayout):
self.parameStackWidget.setCurrentIndex(stackIndex) 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): class BlockParameterManageWidget(QWidget):
@ -203,6 +220,7 @@ class BlockParameterManageWidget(QWidget):
self.setLayout(self.mainlayout) self.setLayout(self.mainlayout)
def loadBlackData(self): def loadBlackData(self):
if self.initUIstat:
address = self.deviceAddressEdit.text() address = self.deviceAddressEdit.text()
# print(address) # print(address)
if address: if address:
@ -214,12 +232,13 @@ class BlockParameterManageWidget(QWidget):
if self.initUIstat: if self.initUIstat:
self.splitter.deleteLater() self.splitter.deleteLater()
self.widget.deleteLater() self.widget.deleteLater()
self.splitter = QSplitter()
self.blockManage = BlockManage(int(address)) self.blockManage = BlockManage(int(address))
Globals.setValue('blockManage', self.blockManage) Globals.setValue('blockManage', self.blockManage)
blocklist = self.blockManage.getBlockNums() blocklist = self.blockManage.getBlockNums()
self.blockLayout = DynamicAddBlock(blocklist) self.blockLayout = DynamicAddBlock(blocklist)
self.settingLayout.addLayout(self.blockLayout, 7) 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.mainlayout.addWidget(self.blockLayout.parameStackWidget, 20)
self.initUIstat = False self.initUIstat = False
else: else:
@ -228,8 +247,29 @@ class BlockParameterManageWidget(QWidget):
"请输入从站地址", "请输入从站地址",
QMessageBox.Yes) QMessageBox.Yes)
return return
else:
reply = QMessageBox.question(self, '确定', '确定更换站地址吗?',
QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
self.blockLayout.deleteLater()
self.splitter.deleteLater()
self.splitter = QSplitter()
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)
else:
return
def refreshData(self): def refreshData(self):
if self.initUIstat:
reply = QMessageBox.question(self.parent(),
'警告',
"请先连接设备",
QMessageBox.Yes)
return
self.loadingDataWidget = LoadingDataWidget() self.loadingDataWidget = LoadingDataWidget()
self.loadingDataWidget.loadData() self.loadingDataWidget.loadData()
blockView = self.blockLayout.parameStackWidget.currentWidget() blockView = self.blockLayout.parameStackWidget.currentWidget()
@ -237,8 +277,8 @@ class BlockParameterManageWidget(QWidget):
model = blockView.model model = blockView.model
model.updateColumn(5, '查询中sdadadsda\r\nsdasdsasasad\r\nasdsadsad...') model.updateColumn(5, '查询中sdadadsda\r\nsdasdsasasad\r\nasdsadsad...')
blockName = blockView.blockType blockName = blockView.blockType
blcoknumber = blockView.blcoknumber + 1 blcokIndex = blockView.blcokIndex
print(blockName, blcoknumber)

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

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

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

Loading…
Cancel
Save