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.

76 lines
3.3 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.RemoteConnectSetting import RemoteConnectSettingWidget
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.remoteConnectSettingWidget = RemoteConnectSettingWidget()
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.remoteConnectLable = QLabel('远程连接设置')
self.remoteConnectLable.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.remoteConnectGroup = QGroupBox()
self.remoteConnectLayout = QVBoxLayout()
self.remoteConnectLayout.addWidget(self.remoteConnectLable)
self.remoteConnectLayout.addWidget(self.remoteConnectSettingWidget)
self.remoteConnectGroup.setLayout(self.remoteConnectLayout)
# 添加到主布局
self.modbusSettingLayout.addWidget(self.tcpGroup, 0, 0, 1, 1)
self.modbusSettingLayout.addWidget(self.rtuGroup, 0, 1, 1, 1)
self.modbusSettingLayout.addWidget(self.remoteConnectGroup, 0, 2, 1, 1)
# 调整布局样式
self.modbusSettingLayout.setColumnStretch(0, 1)
self.modbusSettingLayout.setColumnStretch(1, 1)
self.modbusSettingLayout.setColumnStretch(2, 1)
self.modbusSettingLayout.setContentsMargins(10, 10, 10, 10)
self.modbusSettingLayout.setSpacing(15)
self.setLayout(self.modbusSettingLayout)