main
zhangxuxutm 2 years ago
parent 84ca050d90
commit ba19b2fe1c

@ -22,62 +22,12 @@ class AreaTabWidget(QMainWindow):
self.setCentralWidget(self.areaTabWidget) self.setCentralWidget(self.areaTabWidget)
def initAreaTab(self, dataType, order, channelBytes, deviceName = False): def initAreaTab(self, dataType, order, channelBytes, deviceName = False):
areaTabWidget = QWidget() widgetList = self.addAreaTab(deviceName)
tabIndex = self.areaTabWidget.count() widgetList[0].setCurrentIndex(dataType)
# 将标签页添加到 QTabWidget 中 widgetList[1].setCurrentIndex(order)
self.areaTabWidget.addTab(areaTabWidget, str(tabIndex)) widgetList[2].setText(channelBytes)
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('删除')
topLayout.addWidget(dataTypeCombox, 1) self.addAreaWidget(widgetList)
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)
def addAreaTab(self, deviceName): def addAreaTab(self, deviceName):
@ -124,13 +74,15 @@ class AreaTabWidget(QMainWindow):
mainLayout.addLayout(topLayout, 1) mainLayout.addLayout(topLayout, 1)
mainLayout.addLayout(areaLayout, 9) 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) delAreaBtn.clicked.connect(self.removeAreaTab)
widgetList.extend([dataTypeCombox, orderCombox, byteLineEdit, areaLayout, deviceName]) widgetList.extend([dataTypeCombox, orderCombox, byteLineEdit, areaLayout, deviceName])
areaTabWidget.setLayout(mainLayout) areaTabWidget.setLayout(mainLayout)
return widgetList
def removeAreaTab(self): def removeAreaTab(self):
# 获取 QTabWidget 并从中删除标签页 # 获取 QTabWidget 并从中删除标签页
deviceName = self.areaTabWidget.parent().parent().parent().parent().parent().windowTitle() 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() dataType = widgetList[0].currentText()
order = self.dataTypeTranslate(widgetList[1].currentText()) order = self.dataTypeTranslate(widgetList[1].currentText())
byteLineEdit = widgetList[2].text() byteLineEdit = widgetList[2].text()
areaLayout = widgetList[3] areaLayout = widgetList[3]
deviceName = widgetList[4] deviceName = widgetList[4]
print(okBtn.parent(),'ssss')
if len(byteLineEdit) == 0: if len(byteLineEdit) == 0:
QMessageBox.warning(self, '警告', '请输入字节长度。') QMessageBox.warning(self, '警告', '请输入字节长度。')

Loading…
Cancel
Save