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.

151 lines
5.2 KiB
Python

import sys
from pathlib import Path
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QMainWindow, QMdiArea, QHBoxLayout
from communication import skio, iomapping
from communication.view.IntermediateVariable import intermediateVarWindow
from communication.view.databaseManagement import databaseManageWindow
from communication.view.deviceVariables import deviceVarWindow
from communication.view.myTree import TreeDockWidget
from communication.view.systemParameter import sysParameterWindow
path = Path(__file__).absolute().parent.parent.joinpath('static')
class comWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Dcs自动化测试软件-[工程管理器]')
skio.setup(path.joinpath('demo'))
iomapping.setup_Current()
self.createMenue()
self.initUI()
def initUI(self):
layout = QHBoxLayout()
self.items = TreeDockWidget(self)
self.items.tree_Signal.connect(self.windowAction)
self.items.setFloating(False)
self.mdi = QMdiArea()
self.setCentralWidget(self.mdi)
self.addDockWidget(Qt.LeftDockWidgetArea, self.items)
self.setLayout(layout)
def createMenue(self):
self.menubar = self.menuBar()
self.viewMenu1 = self.menubar.addMenu('&工程')
self.viewMenu2 = self.menubar.addMenu('&查看')
self.viewMenu3 = self.menubar.addMenu('&工具')
self.viewMenu4 = self.menubar.addMenu('&操作')
self.viewMenu5 = self.menubar.addMenu('&帮助')
self.viewMenu1.addAction('新建工程')
self.viewMenu1.addAction('打开')
self.viewMenu1.addAction('保存')
self.viewMenu1.addAction('退出')
self.viewMenu2.addAction('工具栏')
self.viewMenu2.addAction('状态栏')
self.viewMenu2.addAction('工作区')
self.viewMenu2.addAction('显示区')
self.viewMenu2.addAction('编辑')
self.viewMenu3.addAction('模拟')
self.viewMenu3.addAction('运行')
self.viewMenu3.addAction('下载工程')
self.viewMenu3.addAction('上传工程')
self.viewMenu3.addAction('标准modbus点表')
self.viewMenu3.addAction('模板导入')
self.viewMenu4.addAction('增加')
self.viewMenu4.addAction('追加')
self.viewMenu4.addAction('行拷')
self.viewMenu4.addAction('列拷')
self.viewMenu4.addAction('修改')
self.viewMenu4.addAction('删除')
self.viewMenu4.addAction('导出')
self.viewMenu4.addAction('导入')
self.viewMenu5.addAction('帮助')
self.viewMenu5.addAction('关于')
self.viewMenu1.triggered.connect(self.menueAction1)
self.viewMenu2.triggered.connect(self.menueAction2)
self.viewMenu3.triggered.connect(self.menueAction3)
self.viewMenu4.triggered.connect(self.menueAction4)
self.viewMenu5.triggered.connect(self.menueAction5)
def windowAction(self, text):
if len(self.mdi.subWindowList()) < 1:
if text == 'sysParameter':
sub = sysParameterWindow()
self.mdi.addSubWindow(sub)
sub.showMaximized()
if text == 'comEqu':
sub = deviceVarWindow()
self.mdi.addSubWindow(sub)
sub.showMaximized()
if text == 'deviceVar':
sub = intermediateVarWindow()
sub.threadings.start()
self.mdi.addSubWindow(sub)
sub.showMaximized()
if text == 'intermediateVar':
sub = intermediateVarWindow()
sub.threadings.start()
self.mdi.addSubWindow(sub)
sub.showMaximized()
if text == 'databaseManage':
sub = databaseManageWindow()
self.mdi.addSubWindow(sub)
sub.showMaximized()
if len(self.mdi.subWindowList()) == 1:
self.mdi.subWindowList()[0].close()
if text == 'sysParameter':
sub = sysParameterWindow()
self.mdi.addSubWindow(sub)
sub.showMaximized()
if text == 'comEqu':
sub = deviceVarWindow()
self.mdi.addSubWindow(sub)
sub.showMaximized()
if text == 'deviceVar':
sub = intermediateVarWindow()
sub.threadings.start()
self.mdi.addSubWindow(sub)
sub.showMaximized()
if text == 'intermediateVar':
sub = intermediateVarWindow()
sub.threadings.start()
self.mdi.addSubWindow(sub)
sub.showMaximized()
if text == 'databaseManage':
sub = databaseManageWindow()
self.mdi.addSubWindow(sub)
sub.showMaximized()
def menueAction1(self):
print(1)
def menueAction2(self):
print(2)
def menueAction3(self):
print(3)
def menueAction4(self):
print(4)
def menueAction5(self):
print(5)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = comWindow()
ex.show()
sys.exit(app.exec_())