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
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_())
|