main
zhangxuxutm 2 years ago
parent 84ca050d90
commit ba19b2fe1c

@ -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, '警告', '请输入字节长度。')

Loading…
Cancel
Save