import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget, QToolBar, QAction from PyQt5.QtCore import Qt from PyQt5.QtGui import QIcon from utils.DBModels.BaseModel import * from model.ClientModel.Client import Client from UI.DeviceWidget import DeviceWidget class CommonHelper: def __init__(self): pass @staticmethod def readQss(style): with open(style,"r") as f: return f.read() class MainWindow(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.toolbar = QToolBar() self.addToolBar(self.toolbar) self.startProtocolBtn = QAction("开始通讯", self) self.startProtocolBtn.setObjectName("startProtocolBtn") self.startProtocolBtn.triggered.connect(self.startProtocol) self.loadProjectBtn = QAction('导入工程', self) self.loadProjectBtn.setObjectName("loadProjectBtn") self.loadProjectBtn.triggered.connect(self.loadProject) self.toolbar.addAction(self.loadProjectBtn) self.toolbar.addAction(self.startProtocolBtn) dpMasterDockWidget = QDockWidget('DP主站') dpMasterDockWidget.setWidget(DeviceWidget(dpMasterDockWidget)) dpMasterDockWidget.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable) # type: ignore dpSlaveDockWidget = QDockWidget('DP从站') dpSlaveDockWidget.setWidget(DeviceWidget(dpSlaveDockWidget)) dpSlaveDockWidget.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable) # type: ignore paMasterDockWidget = QDockWidget('PA主站') paMasterDockWidget.setWidget(DeviceWidget(paMasterDockWidget)) paMasterDockWidget.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable) # type: ignore paSlaveDockWidget = QDockWidget('PA从站') paSlaveDockWidget.setWidget(DeviceWidget(paSlaveDockWidget)) paSlaveDockWidget.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable) # type: ignore self.addDockWidget(Qt.TopDockWidgetArea, dpMasterDockWidget) # type: ignore self.addDockWidget(Qt.TopDockWidgetArea, dpSlaveDockWidget) # type: ignore self.addDockWidget(Qt.BottomDockWidgetArea, paMasterDockWidget) # type: ignore self.addDockWidget(Qt.BottomDockWidgetArea, paSlaveDockWidget) # type: ignore self.setWindowIcon(QIcon('Static/zhjt.ico')) self.setWindowTitle("PROFIBUS") self.showMaximized() def startProtocol(self): sender = self.sender def loadProject(self): pass if __name__ == '__main__': app = QApplication(sys.argv) Client.initDB() window = MainWindow() window.show() sys.exit(app.exec_())