diff --git a/UI/BlockParameterManageWidget.py b/UI/BlockParameterManageWidget.py index 99531e3..48241f4 100644 --- a/UI/BlockParameterManageWidget.py +++ b/UI/BlockParameterManageWidget.py @@ -144,8 +144,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): def __init__(self): @@ -156,8 +172,8 @@ class BlockParameterManageWidget(QWidget): def initUI(self): - blocklist = [1,2,2] + self.blockLayout = DynamicAddBlock(blocklist) self.mainlayout = QVBoxLayout() @@ -173,7 +189,7 @@ class BlockParameterManageWidget(QWidget): self.confirmBtn.setObjectName("parameBtn") self.refershDataBtn = QPushButton('加载数据') - self.refershDataBtn.setIcon(qtawesome.icon('fa5s.check-circle', color='#1fbb6f')) + self.refershDataBtn.setIcon(qtawesome.icon('fa.refresh', color='#1fbb6f')) self.refershDataBtn.clicked.connect(self.refreshData) self.refershDataBtn.setObjectName("parameBtn") @@ -201,40 +217,63 @@ 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() + 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.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.splitter = QSplitter() + self.blockLayout = DynamicAddBlock([1,1,1]) 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 - - def refreshData(self): + else: + return - self.loadingDataWidget = LoadingDataWidget() - self.loadingDataWidget.loadData() - blockView = self.blockLayout.parameStackWidget.currentWidget() - model = blockView.model - model.updateColumn(5, '查询中sdadadsda\r\nsdasdsasasad\r\nasdsadsad...') - blockName = blockView.dbModel.__name__ - blcoknumber = blockView.blcoknumber + 1 - print(blockName, blcoknumber) + + + 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() + + model = blockView.model + model.updateColumn(5, '查询中sdadadsda\r\nsdasdsasasad\r\nasdsadsad...') + blockName = blockView.dbModel.__name__ + blcoknumber = blockView.blcoknumber + 1 + # print(blockName, blcoknumber) diff --git a/UI/BlockParameterModel.py b/UI/BlockParameterModel.py index d97594f..b1a9cc8 100644 --- a/UI/BlockParameterModel.py +++ b/UI/BlockParameterModel.py @@ -147,11 +147,11 @@ class VarButtonDelegate(QItemDelegate): readORwirte = self.parent().model.datas[index.row()][4] if 'w' not in readORwirte: return + dataType = self.parent().model.datas[index.row()][3] objectType = self.parent().model.datas[index.row()][1] editlineLayout = ObjectTypeEditlayout(objectType, dataType) - # editlineLayout = objectTypeEditlayout.initUI() startActionBtn.index = [index.row(), index.column()] startActionBtn.setToolTip('强制') @@ -165,11 +165,8 @@ class VarButtonDelegate(QItemDelegate): refreshButton.setToolTip('刷新') refreshButton.clicked.connect(self.refreshData) refreshButton.index = [index.row(), index.column()] - # parameEditline = QLineEdit() - # # parameEditline.setObjectName('parameEditline') boxLayout = QHBoxLayout() - # boxLayout.addWidget(parameEditline) boxLayout.addLayout(editlineLayout) boxLayout.addWidget(startActionBtn) boxLayout.addWidget(refreshButton) @@ -178,7 +175,6 @@ class VarButtonDelegate(QItemDelegate): startActionBtn.setObjectName('startActionBtn') boxLayout.setContentsMargins(0, 0, 0, 0) - # boxLayout.setAlignment(Qt.AlignCenter) widget = QWidget() widget.setLayout(boxLayout) self.parent().setIndexWidget( @@ -190,7 +186,6 @@ class VarButtonDelegate(QItemDelegate): def startAction(self, objectTypeEditlayout): sender = self.sender() model = self.parent().model - # value = model.datas[sender.index[0]][sender.index[1]] values = objectTypeEditlayout.getEditlineValue() if not values: reply = QMessageBox.question(self.parent(), @@ -209,13 +204,13 @@ class VarButtonDelegate(QItemDelegate): QMessageBox.Yes) return index = model.datas[sender.index[0]][0] - print(index, self.parent().dbModel.__name__, self.parent().blcoknumber + 1) + # print(index, self.parent().dbModel.__name__, self.parent().blcoknumber + 1) 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) + # index = model.datas[sender.index[0]][0] + # print(index, self.parent().dbModel.__name__, self.parent().blcoknumber + 1) self.loadingDataWidget = LoadingDataWidget() self.loadingDataWidget.loadData()