|
|
@ -3,7 +3,7 @@ import qtawesome
|
|
|
|
from PyQt5.QtGui import QPixmap, QPainter, QIcon
|
|
|
|
from PyQt5.QtGui import QPixmap, QPainter, QIcon
|
|
|
|
from PyQt5.QtCore import Qt
|
|
|
|
from PyQt5.QtCore import Qt
|
|
|
|
from PyQt5.QtWidgets import QStyledItemDelegate, QStyle, QComboBox, QMessageBox, QPushButton,QStackedWidget, QLineEdit \
|
|
|
|
from PyQt5.QtWidgets import QStyledItemDelegate, QStyle, QComboBox, QMessageBox, QPushButton,QStackedWidget, QLineEdit \
|
|
|
|
, QVBoxLayout, QHBoxLayout, QWidget, QLabel, QSplitter, QButtonGroup, QDialog, QRadioButton
|
|
|
|
, QVBoxLayout, QHBoxLayout, QWidget, QLabel, QSplitter, QScrollArea, QButtonGroup, QDialog, QRadioButton
|
|
|
|
from utils.DBModels.DeviceParModels import *
|
|
|
|
from utils.DBModels.DeviceParModels import *
|
|
|
|
from UI.BlockParameterView import ParmView
|
|
|
|
from UI.BlockParameterView import ParmView
|
|
|
|
from UI.SearchAddressWidget import SearchAddressWidget
|
|
|
|
from UI.SearchAddressWidget import SearchAddressWidget
|
|
|
@ -12,11 +12,12 @@ from utils.DBModels.DeviceParModels import *
|
|
|
|
from utils import Globals
|
|
|
|
from utils import Globals
|
|
|
|
from UI.LoadingDataWidget import LoadingDataWidget
|
|
|
|
from UI.LoadingDataWidget import LoadingDataWidget
|
|
|
|
from UI.EditAddressWidget import EditAddressWidget
|
|
|
|
from UI.EditAddressWidget import EditAddressWidget
|
|
|
|
|
|
|
|
from UI.SoftKeyBoardEdit import *
|
|
|
|
|
|
|
|
|
|
|
|
from model.ProjectModel.BlockManage import BlockManage, BlockType, TBType
|
|
|
|
from model.ProjectModel.BlockManage import BlockManage, BlockType, TBType
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ShowImage(QWidget):
|
|
|
|
class ShowImage(QWidget):
|
|
|
|
def __init__(self, image_path):
|
|
|
|
def __init__(self, image_path):
|
|
|
|
super().__init__()
|
|
|
|
super().__init__()
|
|
|
@ -49,7 +50,7 @@ class TbCombox(QComboBox):
|
|
|
|
def initUI(self):
|
|
|
|
def initUI(self):
|
|
|
|
# 创建ComboBox
|
|
|
|
# 创建ComboBox
|
|
|
|
|
|
|
|
|
|
|
|
self.addItems(["压力转换块", "温度转换块", "物位转换块", "流量转换块", 'WIKA液位计'])
|
|
|
|
self.addItems(["压力转换块", "温度转换块", "物位转换块", "流量转换块", 'WIKA液位计','开封流量计'])
|
|
|
|
|
|
|
|
|
|
|
|
self.setEditable(True) # 设置为可编辑以应用样式表隐藏文本
|
|
|
|
self.setEditable(True) # 设置为可编辑以应用样式表隐藏文本
|
|
|
|
self.setObjectName('tbcombox')
|
|
|
|
self.setObjectName('tbcombox')
|
|
|
@ -79,16 +80,19 @@ class DynamicAddBlock(QHBoxLayout):
|
|
|
|
self.blockViewlist = []
|
|
|
|
self.blockViewlist = []
|
|
|
|
self.tbtypeList = TbtypeList #存放转换块的各种类型
|
|
|
|
self.tbtypeList = TbtypeList #存放转换块的各种类型
|
|
|
|
# print(self.tbtypeList)
|
|
|
|
# print(self.tbtypeList)
|
|
|
|
self.tbList = ['PressureTranslationBlock', 'TemperatureTranslationBlock', 'LevelTranslationBlock', 'FlowTranslationBlock', 'WiKaLevelTranslationBlock'] #存放四个转换块
|
|
|
|
self.tbList = ['PressureTranslationBlock', 'TemperatureTranslationBlock', 'LevelTranslationBlock', 'FlowTranslationBlock', 'WiKaLevelTranslationBlock', 'KaiFengFlowTranslationBlock'] #存放四个转换块
|
|
|
|
self.enumList = [TBType.pressureTB, TBType.tempTB, TBType.levelTB, TBType.flowTB, TBType.wikaLevelTB]
|
|
|
|
self.enumList = [TBType.pressureTB, TBType.tempTB, TBType.levelTB, TBType.flowTB, TBType.wikaLevelTB, TBType.kfFlowTB]
|
|
|
|
self.initUI()
|
|
|
|
self.initUI()
|
|
|
|
|
|
|
|
|
|
|
|
def initUI(self):
|
|
|
|
def initUI(self):
|
|
|
|
|
|
|
|
self.setContentsMargins(0, 0, 0, 0)
|
|
|
|
|
|
|
|
|
|
|
|
pbNumber = self.blocklist[0]
|
|
|
|
pbNumber = self.blocklist[0]
|
|
|
|
tbNumber = self.blocklist[1]
|
|
|
|
tbNumber = self.blocklist[1]
|
|
|
|
fbNumber = self.blocklist[2]
|
|
|
|
fbNumber = self.blocklist[2]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i in range(pbNumber):
|
|
|
|
for i in range(pbNumber):
|
|
|
|
pblockBtn = QPushButton('物理块')
|
|
|
|
pblockBtn = QPushButton('物理块')
|
|
|
|
|
|
|
|
|
|
|
@ -145,7 +149,7 @@ class DynamicAddBlock(QHBoxLayout):
|
|
|
|
case None:
|
|
|
|
case None:
|
|
|
|
tbcombox.setCurrentIndex(4)
|
|
|
|
tbcombox.setCurrentIndex(4)
|
|
|
|
tblockBtn = QPushButton(tbcombox.currentText() + str(i + 1))
|
|
|
|
tblockBtn = QPushButton(tbcombox.currentText() + str(i + 1))
|
|
|
|
print(1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -190,7 +194,7 @@ class DynamicAddBlock(QHBoxLayout):
|
|
|
|
buttonNumber = button.text()[-1]
|
|
|
|
buttonNumber = button.text()[-1]
|
|
|
|
button.setText(tbType + str(buttonNumber))
|
|
|
|
button.setText(tbType + str(buttonNumber))
|
|
|
|
if button.isChecked():
|
|
|
|
if button.isChecked():
|
|
|
|
stackIndex = (int(self.blocklist[0]) + int(self.blocklist[2]) + index) + (int(buttonNumber) - 1) * 5
|
|
|
|
stackIndex = (int(self.blocklist[0]) + int(self.blocklist[2]) + index) + (int(buttonNumber) - 1) * 6
|
|
|
|
print(stackIndex)
|
|
|
|
print(stackIndex)
|
|
|
|
self.parameStackWidget.setCurrentIndex(stackIndex)
|
|
|
|
self.parameStackWidget.setCurrentIndex(stackIndex)
|
|
|
|
|
|
|
|
|
|
|
@ -238,7 +242,7 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
self.settingLayout = QHBoxLayout()
|
|
|
|
self.settingLayout = QHBoxLayout()
|
|
|
|
self.deviceAddressLabel = QLabel('从站地址')
|
|
|
|
self.deviceAddressLabel = QLabel('从站地址')
|
|
|
|
self.deviceAddressLabel.setObjectName('deviceAddressLabel')
|
|
|
|
self.deviceAddressLabel.setObjectName('deviceAddressLabel')
|
|
|
|
self.deviceAddressEdit = QLineEdit()
|
|
|
|
self.deviceAddressEdit = SoftKeyBoardEdit()
|
|
|
|
self.deviceAddressEdit.returnPressed.connect(self.loadBlackData)
|
|
|
|
self.deviceAddressEdit.returnPressed.connect(self.loadBlackData)
|
|
|
|
self.deviceAddressEdit.setObjectName("deviceAddressEdit")
|
|
|
|
self.deviceAddressEdit.setObjectName("deviceAddressEdit")
|
|
|
|
|
|
|
|
|
|
|
@ -272,6 +276,11 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
self.settingLayout.addWidget(self.refershDataBtn, 1)
|
|
|
|
self.settingLayout.addWidget(self.refershDataBtn, 1)
|
|
|
|
# self.settingLayout.addLayout(self.blockLayout)
|
|
|
|
# self.settingLayout.addLayout(self.blockLayout)
|
|
|
|
# self.settingLayout.setSpacing(5)
|
|
|
|
# self.settingLayout.setSpacing(5)
|
|
|
|
|
|
|
|
self.scroArea = QScrollArea()
|
|
|
|
|
|
|
|
self.scroArea.setObjectName('scroArea')
|
|
|
|
|
|
|
|
self.scroArea.horizontalScrollBar().setObjectName('scroBar')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.splitter = QSplitter()
|
|
|
|
self.splitter = QSplitter()
|
|
|
|
self.settingLayout.addWidget(self.splitter, 18)
|
|
|
|
self.settingLayout.addWidget(self.splitter, 18)
|
|
|
@ -288,7 +297,7 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
address = self.deviceAddressEdit.text()
|
|
|
|
address = self.deviceAddressEdit.text()
|
|
|
|
# print(address)
|
|
|
|
# print(address)
|
|
|
|
if address:
|
|
|
|
if address:
|
|
|
|
pattern = re.compile(r'^(?:[1-9]|[1-9][0-9]|1[0-1][0-9]|12[0-7])$')
|
|
|
|
pattern = re.compile(r'^(?:[3-9]|[1-9][0-9]|1[0-1][0-9]|12[0-6])$')
|
|
|
|
match = pattern.match(address)
|
|
|
|
match = pattern.match(address)
|
|
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
else:
|
|
|
@ -299,7 +308,7 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
if not match:
|
|
|
|
if not match:
|
|
|
|
QMessageBox.warning(self, '提示', '请输入2 - 127。')
|
|
|
|
QMessageBox.warning(self, '提示', '请输入3 - 126。')
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
if self.initUIstat:
|
|
|
|
if self.initUIstat:
|
|
|
@ -319,8 +328,12 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
Globals.setValue('blockManage', self.blockManage)
|
|
|
|
Globals.setValue('blockManage', self.blockManage)
|
|
|
|
blocklist = self.blockManage.getBlockNums()
|
|
|
|
blocklist = self.blockManage.getBlockNums()
|
|
|
|
self.blockLayout = DynamicAddBlock(blocklist, self.blockManage.TBTypeList)
|
|
|
|
self.blockLayout = DynamicAddBlock(blocklist, self.blockManage.TBTypeList)
|
|
|
|
self.settingLayout.addLayout(self.blockLayout, 7)
|
|
|
|
self.scroWidget = QWidget()
|
|
|
|
self.settingLayout.addWidget(self.splitter, 11)
|
|
|
|
self.scroWidget.setObjectName('scroWidget')
|
|
|
|
|
|
|
|
self.scroWidget.setLayout(self.blockLayout)
|
|
|
|
|
|
|
|
self.scroArea.setWidget(self.scroWidget)
|
|
|
|
|
|
|
|
self.settingLayout.addWidget(self.scroArea, 18)
|
|
|
|
|
|
|
|
# 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
|
|
|
|
self.recordAddress = address #记录链接成功的站地址
|
|
|
|
self.recordAddress = address #记录链接成功的站地址
|
|
|
@ -344,12 +357,16 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
self.blockLayout.deleteLater()
|
|
|
|
self.blockLayout.deleteLater()
|
|
|
|
self.splitter.deleteLater()
|
|
|
|
self.splitter.deleteLater()
|
|
|
|
self.splitter = QSplitter()
|
|
|
|
self.splitter = QSplitter()
|
|
|
|
|
|
|
|
# self.scroArea.deleteLater()
|
|
|
|
blocklist = self.blockManage.getBlockNums()
|
|
|
|
blocklist = self.blockManage.getBlockNums()
|
|
|
|
TbtypeList = self.blockManage.TBTypeList
|
|
|
|
TbtypeList = self.blockManage.TBTypeList
|
|
|
|
|
|
|
|
|
|
|
|
self.blockLayout = DynamicAddBlock(blocklist, TbtypeList)
|
|
|
|
self.blockLayout = DynamicAddBlock(blocklist, TbtypeList)
|
|
|
|
self.settingLayout.addLayout(self.blockLayout, 7)
|
|
|
|
self.scroWidget = QWidget()
|
|
|
|
self.settingLayout.addWidget(self.splitter, 11)
|
|
|
|
self.scroWidget.setObjectName('scroWidget')
|
|
|
|
|
|
|
|
self.scroWidget.setLayout(self.blockLayout)
|
|
|
|
|
|
|
|
self.scroArea.setWidget(self.scroWidget)
|
|
|
|
|
|
|
|
self.settingLayout.addWidget(self.scroArea, 18)
|
|
|
|
self.mainlayout.addWidget(self.blockLayout.parameStackWidget, 20)
|
|
|
|
self.mainlayout.addWidget(self.blockLayout.parameStackWidget, 20)
|
|
|
|
self.recordAddress = address #记录链接成功的站地址
|
|
|
|
self.recordAddress = address #记录链接成功的站地址
|
|
|
|
else:
|
|
|
|
else:
|
|
|
@ -406,6 +423,7 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
self.blockLayout.deleteLater()
|
|
|
|
self.blockLayout.deleteLater()
|
|
|
|
self.splitter.deleteLater()
|
|
|
|
self.splitter.deleteLater()
|
|
|
|
self.splitter = QSplitter()
|
|
|
|
self.splitter = QSplitter()
|
|
|
|
|
|
|
|
self.scroArea.deleteLater()
|
|
|
|
self.widget = ShowImage('Static/pict.png')
|
|
|
|
self.widget = ShowImage('Static/pict.png')
|
|
|
|
self.mainlayout.addWidget(self.widget, 20)
|
|
|
|
self.mainlayout.addWidget(self.widget, 20)
|
|
|
|
self.settingLayout.addWidget(self.splitter,18)
|
|
|
|
self.settingLayout.addWidget(self.splitter,18)
|
|
|
|