diff --git a/UI/AreaTabWidget.py b/UI/AreaTabWidget.py index 46d2abf..c808714 100644 --- a/UI/AreaTabWidget.py +++ b/UI/AreaTabWidget.py @@ -22,62 +22,12 @@ class AreaTabWidget(QMainWindow): self.setCentralWidget(self.areaTabWidget) def initAreaTab(self, dataType, order, channelBytes, deviceName = False): - areaTabWidget = QWidget() - tabIndex = self.areaTabWidget.count() - # 将标签页添加到 QTabWidget 中 - self.areaTabWidget.addTab(areaTabWidget, str(tabIndex)) - - self.setCentralWidget(self.areaTabWidget) - widgetList = [] - mainLayout = QVBoxLayout() - topLayout = QHBoxLayout() - areaLayout = QGridLayout() - - dataTypeCombox = QComboBox() - dataTypeCombox.addItems(['AI', 'AO', 'DI', 'DO']) - dataTypeCombox.setCurrentIndex(dataType) - dataTypeCombox.setObjectName('dataTypeCombox') - - orderCombox = QComboBox() - orderCombox.addItems(['不转换', '字节转换', '字转换', '字内转换']) - orderCombox.setCurrentIndex(order) - - byteLineEdit = QLineEdit() - byteLineEdit.setPlaceholderText('字节长度') - byteLineEdit.setObjectName('byteLineEdit') - byteLineEdit.setText(channelBytes) - - - okBtn = QPushButton('确定') - delAreaBtn = QPushButton('删除') + widgetList = self.addAreaTab(deviceName) + widgetList[0].setCurrentIndex(dataType) + widgetList[1].setCurrentIndex(order) + widgetList[2].setText(channelBytes) - topLayout.addWidget(dataTypeCombox, 1) - topLayout.addWidget(orderCombox, 1) - # topLayout.addWidget(byteLabel) - topLayout.addWidget(byteLineEdit, 2) - topLayout.addWidget(okBtn, 1) - topLayout.addItem(self.horizontalSpacer) - topLayout.addItem(self.horizontalSpacer) - topLayout.addItem(self.horizontalSpacer) - topLayout.addItem(self.horizontalSpacer) - topLayout.addWidget(delAreaBtn, 1) - - # widget = QWidget() - # areaLayout.addWidget(widget) - mainLayout.addLayout(topLayout, 1) - mainLayout.addLayout(areaLayout, 9) - - - delAreaBtn.clicked.connect(self.removeAreaTab) - - - widgetList.extend([dataTypeCombox, orderCombox, byteLineEdit, areaLayout, deviceName]) - - okBtn.clicked.connect(lambda checked, btn=okBtn: self.addAreaWidget(widgetList, okBtn)) - - self.addAreaWidget(widgetList, okBtn) - - areaTabWidget.setLayout(mainLayout) + self.addAreaWidget(widgetList) def addAreaTab(self, deviceName): @@ -124,13 +74,15 @@ class AreaTabWidget(QMainWindow): mainLayout.addLayout(topLayout, 1) mainLayout.addLayout(areaLayout, 9) - okBtn.clicked.connect(lambda checked, btn=okBtn: self.addAreaWidget(widgetList, okBtn)) + okBtn.clicked.connect(lambda checked, btn=okBtn: self.addAreaWidget(widgetList)) delAreaBtn.clicked.connect(self.removeAreaTab) widgetList.extend([dataTypeCombox, orderCombox, byteLineEdit, areaLayout, deviceName]) areaTabWidget.setLayout(mainLayout) + return widgetList + def removeAreaTab(self): # 获取 QTabWidget 并从中删除标签页 deviceName = self.areaTabWidget.parent().parent().parent().parent().parent().windowTitle() @@ -143,14 +95,14 @@ class AreaTabWidget(QMainWindow): - def addAreaWidget(self, widgetList, okBtn): + def addAreaWidget(self, widgetList): dataType = widgetList[0].currentText() order = self.dataTypeTranslate(widgetList[1].currentText()) byteLineEdit = widgetList[2].text() areaLayout = widgetList[3] deviceName = widgetList[4] - print(okBtn.parent(),'ssss') + if len(byteLineEdit) == 0: QMessageBox.warning(self, '警告', '请输入字节长度。')