You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.7 KiB
Python

from PyQt5.QtCore import (QCoreApplication, Qt)
from PyQt5.QtWidgets import (QGridLayout, QLabel, QLineEdit, QGroupBox, QVBoxLayout,
QPushButton, QSizePolicy, QSpacerItem, QWidget, QComboBox, QMessageBox, QSplitter, QListView)
from UI.Setting.TCPSetting import TCPSettingWidget
from UI.Setting.RTUSetting import RTUSettingWidget
from UI.Setting.DeviceSearchSetting import DeviceSearchSettingWidget
class SettingWidget(QWidget):
def __init__(self):
super().__init__()
def setupUI(self):
self.modbusSettingLayout = QGridLayout()
# 初始化部件
self.tcpMasterSettingWidget = TCPSettingWidget('master')
self.tcpSlaveSettingWidget = TCPSettingWidget('slave')
self.rtuMasterSettingWidget = RTUSettingWidget('master')
self.rtuSlaveSettingWidget = RTUSettingWidget('slave')
self.deviceSearchSettingWidget = DeviceSearchSettingWidget()
self.tcpMasterSettingWidget.setupUI()
self.tcpSlaveSettingWidget.setupUI()
self.rtuMasterSettingWidget.setupUI()
self.rtuSlaveSettingWidget.setupUI()
# 分组布局
self.tcpGroup = QGroupBox()
self.tcpLayout = QVBoxLayout()
self.tcpMasterLable = QLabel('MODBUSTCP主站设置')
self.tcpMasterLable.setObjectName('tcpLable')
self.tcpSlaveLable = QLabel('MODBUSTCP从站站设置')
self.tcpSlaveLable.setObjectName('tcpLable')
self.tcpLayout.addWidget(self.tcpMasterLable)
self.tcpLayout.addWidget(self.tcpMasterSettingWidget)
self.tcpLayout.addWidget(self.tcpSlaveLable)
self.tcpLayout.addWidget(self.tcpSlaveSettingWidget)
self.tcpGroup.setLayout(self.tcpLayout)
self.rtuGroup = QGroupBox()
self.rtuLayout = QVBoxLayout()
self.rtuMasterLable = QLabel('MODBUSRTU主站设置')
self.rtuMasterLable.setObjectName('rtuLable')
self.rtuSlaveLable = QLabel('MODBUSRTU从站站设置')
self.rtuSlaveLable.setObjectName('rtuLable')
self.rtuLayout.addWidget(self.rtuMasterLable)
self.rtuLayout.addWidget(self.rtuMasterSettingWidget)
self.rtuLayout.addWidget(self.rtuSlaveLable)
self.rtuLayout.addWidget(self.rtuSlaveSettingWidget)
self.rtuGroup.setLayout(self.rtuLayout)
# 添加到主布局
self.modbusSettingLayout.addWidget(self.tcpGroup, 0, 0)
self.modbusSettingLayout.addWidget(self.rtuGroup, 0, 1)
self.modbusSettingLayout.addWidget(self.deviceSearchSettingWidget, 0, 2)
# 调整布局样式
self.modbusSettingLayout.setContentsMargins(10, 10, 10, 10)
self.modbusSettingLayout.setSpacing(15)
self.setLayout(self.modbusSettingLayout)