|
|
|
@ -3,7 +3,7 @@ import qtawesome
|
|
|
|
|
from PyQt5.QtGui import QPixmap, QPainter, QIcon
|
|
|
|
|
from PyQt5.QtCore import Qt
|
|
|
|
|
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 UI.BlockParameterView import ParmView
|
|
|
|
|
from UI.SearchAddressWidget import SearchAddressWidget
|
|
|
|
@ -12,11 +12,12 @@ from utils.DBModels.DeviceParModels import *
|
|
|
|
|
from utils import Globals
|
|
|
|
|
from UI.LoadingDataWidget import LoadingDataWidget
|
|
|
|
|
from UI.EditAddressWidget import EditAddressWidget
|
|
|
|
|
|
|
|
|
|
from UI.SoftKeyBoardEdit import *
|
|
|
|
|
|
|
|
|
|
from model.ProjectModel.BlockManage import BlockManage, BlockType, TBType
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ShowImage(QWidget):
|
|
|
|
|
def __init__(self, image_path):
|
|
|
|
|
super().__init__()
|
|
|
|
@ -84,11 +85,14 @@ class DynamicAddBlock(QHBoxLayout):
|
|
|
|
|
self.initUI()
|
|
|
|
|
|
|
|
|
|
def initUI(self):
|
|
|
|
|
self.setContentsMargins(0, 0, 0, 0)
|
|
|
|
|
|
|
|
|
|
pbNumber = self.blocklist[0]
|
|
|
|
|
tbNumber = self.blocklist[1]
|
|
|
|
|
fbNumber = self.blocklist[2]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i in range(pbNumber):
|
|
|
|
|
pblockBtn = QPushButton('物理块')
|
|
|
|
|
|
|
|
|
@ -238,7 +242,7 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
|
self.settingLayout = QHBoxLayout()
|
|
|
|
|
self.deviceAddressLabel = QLabel('从站地址')
|
|
|
|
|
self.deviceAddressLabel.setObjectName('deviceAddressLabel')
|
|
|
|
|
self.deviceAddressEdit = QLineEdit()
|
|
|
|
|
self.deviceAddressEdit = SoftKeyBoardEdit()
|
|
|
|
|
self.deviceAddressEdit.returnPressed.connect(self.loadBlackData)
|
|
|
|
|
self.deviceAddressEdit.setObjectName("deviceAddressEdit")
|
|
|
|
|
|
|
|
|
@ -272,6 +276,11 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
|
self.settingLayout.addWidget(self.refershDataBtn, 1)
|
|
|
|
|
# self.settingLayout.addLayout(self.blockLayout)
|
|
|
|
|
# self.settingLayout.setSpacing(5)
|
|
|
|
|
self.scroArea = QScrollArea()
|
|
|
|
|
self.scroArea.setObjectName('scroArea')
|
|
|
|
|
self.scroArea.horizontalScrollBar().setObjectName('scroBar')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.splitter = QSplitter()
|
|
|
|
|
self.settingLayout.addWidget(self.splitter, 18)
|
|
|
|
@ -288,7 +297,7 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
|
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-7])$')
|
|
|
|
|
pattern = re.compile(r'^(?:[3-9]|[1-9][0-9]|1[0-1][0-9]|12[0-6])$')
|
|
|
|
|
match = pattern.match(address)
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
@ -299,7 +308,7 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
if not match:
|
|
|
|
|
QMessageBox.warning(self, '提示', '请输入2 - 127。')
|
|
|
|
|
QMessageBox.warning(self, '提示', '请输入3 - 126。')
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
if self.initUIstat:
|
|
|
|
@ -319,8 +328,12 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
|
Globals.setValue('blockManage', self.blockManage)
|
|
|
|
|
blocklist = self.blockManage.getBlockNums()
|
|
|
|
|
self.blockLayout = DynamicAddBlock(blocklist, self.blockManage.TBTypeList)
|
|
|
|
|
self.settingLayout.addLayout(self.blockLayout, 7)
|
|
|
|
|
self.settingLayout.addWidget(self.splitter, 11)
|
|
|
|
|
self.scroWidget = QWidget()
|
|
|
|
|
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.initUIstat = False
|
|
|
|
|
self.recordAddress = address #记录链接成功的站地址
|
|
|
|
@ -344,12 +357,15 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
|
self.blockLayout.deleteLater()
|
|
|
|
|
self.splitter.deleteLater()
|
|
|
|
|
self.splitter = QSplitter()
|
|
|
|
|
# self.scroArea.deleteLater()
|
|
|
|
|
blocklist = self.blockManage.getBlockNums()
|
|
|
|
|
TbtypeList = self.blockManage.TBTypeList
|
|
|
|
|
|
|
|
|
|
self.blockLayout = DynamicAddBlock(blocklist, TbtypeList)
|
|
|
|
|
self.settingLayout.addLayout(self.blockLayout, 7)
|
|
|
|
|
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.recordAddress = address #记录链接成功的站地址
|
|
|
|
|
else:
|
|
|
|
@ -406,6 +422,7 @@ class BlockParameterManageWidget(QWidget):
|
|
|
|
|
self.blockLayout.deleteLater()
|
|
|
|
|
self.splitter.deleteLater()
|
|
|
|
|
self.splitter = QSplitter()
|
|
|
|
|
self.scroArea.deleteLater()
|
|
|
|
|
self.widget = ShowImage('Static/pict.png')
|
|
|
|
|
self.mainlayout.addWidget(self.widget, 20)
|
|
|
|
|
self.settingLayout.addWidget(self.splitter,18)
|
|
|
|
|