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

7 months ago
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
6 months ago
from UI.Setting.RemoteConnectSetting import RemoteConnectSettingWidget
7 months ago
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')
6 months ago
self.remoteConnectSettingWidget = RemoteConnectSettingWidget()
7 months ago
self.tcpMasterSettingWidget.loadSettings()
self.tcpSlaveSettingWidget.loadSettings()
self.rtuMasterSettingWidget.loadSettings()
self.rtuSlaveSettingWidget.loadSettings()
7 months ago
# 分组布局
self.tcpGroup = QGroupBox()
self.tcpLayout = QVBoxLayout()
self.tcpMasterLable = QLabel('MODBUSTCP主站设置')
self.tcpMasterLable.setObjectName('tcpLable')
self.tcpSlaveLable = QLabel('MODBUSTCP从站站设置')
self.tcpSlaveLable.setObjectName('tcpLable')
6 months ago
self.remoteConnectLable = QLabel('远程连接设置')
self.remoteConnectLable.setObjectName('tcpLable')
7 months ago
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)
6 months ago
self.remoteConnectGroup = QGroupBox()
self.remoteConnectLayout = QVBoxLayout()
self.remoteConnectLayout.addWidget(self.remoteConnectLable)
self.remoteConnectLayout.addWidget(self.remoteConnectSettingWidget)
self.remoteConnectGroup.setLayout(self.remoteConnectLayout)
7 months ago
# 添加到主布局
6 months ago
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)
7 months ago
# 调整布局样式
6 months ago
self.modbusSettingLayout.setColumnStretch(0, 1)
self.modbusSettingLayout.setColumnStretch(1, 1)
self.modbusSettingLayout.setColumnStretch(2, 1)
7 months ago
self.modbusSettingLayout.setContentsMargins(10, 10, 10, 10)
self.modbusSettingLayout.setSpacing(15)
self.setLayout(self.modbusSettingLayout)