diff --git a/Static/Main.qss b/Static/Main.qss new file mode 100644 index 0000000..e534ace --- /dev/null +++ b/Static/Main.qss @@ -0,0 +1,9 @@ +QMdiSubWindow { + + font-size: 18px; + font-weight: bold; + + + + } + diff --git a/UI/AreaSettingWidget.py b/UI/AreaSettingWidget.py index 2a2ffb3..62cb8fb 100644 --- a/UI/AreaSettingWidget.py +++ b/UI/AreaSettingWidget.py @@ -37,7 +37,7 @@ class AreaSettingWidget(QDialog): layout.addRow(button_box) - self.setWindowIcon(QIcon('../Static/zhjt.ico')) + self.setWindowIcon(QIcon('Static/zhjt.ico')) self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) # 去掉标题栏的问号 self.setLayout(layout) self.setWindowTitle("通道配置") diff --git a/UI/DelAreaWidget.py b/UI/DelAreaWidget.py index 89ee564..985be5b 100644 --- a/UI/DelAreaWidget.py +++ b/UI/DelAreaWidget.py @@ -1,6 +1,6 @@ from PyQt5.QtWidgets import QApplication, QMainWindow, QToolBar, QMdiArea, QAction, QInputDialog, QDialog, QFormLayout, QLineEdit, \ QMdiSubWindow, QDialogButtonBox, QWidget, QComboBox, QTabBar, QTabWidget, QGridLayout, QLabel, QPushButton, QSpacerItem,QSizePolicy, QCheckBox, QVBoxLayout -from AreaSettingWidget import AreaSettingWidget +from UI.AreaSettingWidget import AreaSettingWidget from PyQt5.QtCore import Qt from PyQt5.QtGui import QPixmap, QIcon import sys @@ -47,7 +47,7 @@ class DelAreaWidget(QDialog): vorlayout.addLayout(layout) vorlayout.addWidget(button_box) - self.setWindowIcon(QIcon('../Static/zhjt.ico')) + self.setWindowIcon(QIcon('Static/zhjt.ico')) self.setWindowTitle("删除通道") self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint)#去掉标题栏的问号 self.setLayout(vorlayout) diff --git a/UI/DeviceWidget.py b/UI/DeviceWidget.py index 4c7f506..0632af9 100644 --- a/UI/DeviceWidget.py +++ b/UI/DeviceWidget.py @@ -47,7 +47,7 @@ class DeviceDialog(QDialog): button_box.rejected.connect(self.reject) layout.addRow(button_box) - self.setWindowIcon(QIcon('../Static/zhjt.ico')) + self.setWindowIcon(QIcon('Static/zhjt.ico')) self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) # 去掉标题栏的问号 self.setLayout(layout) self.setWindowTitle("设备信息") diff --git a/UI/MainWindow.py b/UI/MainWindow.py index 184acc6..1e825b7 100644 --- a/UI/MainWindow.py +++ b/UI/MainWindow.py @@ -7,7 +7,7 @@ from PyQt5.QtWidgets import QApplication, QMainWindow, QToolBar, QMdiArea, QActi QMdiSubWindow, QDialogButtonBox, QWidget, QComboBox, QTabBar, QTabWidget, QGridLayout, QLabel, QPushButton, QSpacerItem, QSizePolicy, QHBoxLayout, QTableWidget, QScrollArea from PyQt5 import QtCore from PyQt5.QtGui import QPixmap, QIcon -from DeviceWidget import * +from UI.DeviceWidget import DeviceDialog from UI.AreaSettingWidget import AreaSettingWidget from UI.DelAreaWidget import DelAreaWidget # from model.ProjectModel.AreaManage import Devices, DevicesManange, Area @@ -15,6 +15,14 @@ from protocol.ModBus.ModBusThread import MyThread from utils.DBModels.BaseModel import * # from utils.DBModels.ClientModels import DeviceDB # from model.ClientModel.Client import Client +class CommonHelper: + def __init__(self): + pass + + @staticmethod + def readQss(style): + with open(style,"r") as f: + return f.read() class MainWindow(QMainWindow): @@ -35,8 +43,10 @@ class MainWindow(QMainWindow): self.addToolBar(self.toolbar) # self.setWindowState(self.windowState() | QtCore.Qt.WindowMaximized) self.action1 = QAction("添加设备", self) + self.action1.setObjectName("action1") self.action1.triggered.connect(self.createDeciveWidget) self.action2 = QAction("开始通讯", self) + self.action2.setObjectName("action2") self.action2.triggered.connect(self.startProtocol) self.toolbar.addAction(self.action1) @@ -47,7 +57,7 @@ class MainWindow(QMainWindow): # self.scrollArea.setWidget(self.mdi_area) self.setCentralWidget(self.mdi_area) - self.setWindowIcon(QIcon('../Static/zhjt.ico')) + self.setWindowIcon(QIcon('Static/zhjt.ico')) # self.mdi_area.setViewMode(QMdiArea.TabbedView) @@ -101,7 +111,8 @@ class MainWindow(QMainWindow): def deviceWidget(self, windowTitle): - sub_window = AreaQMdiSubWindow() # 创建一个子窗口 + sub_window = AreaQMdiSubWindow()# 创建一个子窗口 + sub_window.setObjectName('sub_window') areaLayout1 = QGridLayout() areaLayout2 = QGridLayout() @@ -140,7 +151,8 @@ class MainWindow(QMainWindow): sub_window.setWindowTitle(windowTitle) sub_window.setGeometry(0, 0, 600, 500) sub_window.setWidget(scroll_widget) - sub_window.setWindowIcon(QIcon('../Static/zhjt.ico')) + sub_window.setWindowIcon(QIcon('Static/zhjt.ico')) + self.mdi_area.addSubWindow(sub_window) # 将子窗口添加到MDI区域 # self.mdi_area.subWindowActivated.connect(self.adjustMdiAreaSize) @@ -243,11 +255,9 @@ class MainWindow(QMainWindow): print(rowAndColumn) row = rowAndColumn[0] column = rowAndColumn[1] - print(row, column) if column == 0: for i in range(4): widget = areaLayout.itemAtPosition(row, i).widget() - print(widget) areaLayout.removeWidget(widget) widget.deleteLater() #删除self.areaLabel列表中的对象 @@ -257,7 +267,6 @@ class MainWindow(QMainWindow): else: for i in range(4,8): widget = areaLayout.itemAtPosition(row, i).widget() - print(widget) areaLayout.removeWidget(widget) widget.deleteLater() # 删除self.areaLabel列表中的对象 diff --git a/UI/__pycache__/AreaSettingWidget.cpython-310.pyc b/UI/__pycache__/AreaSettingWidget.cpython-310.pyc index f051115..d5c89af 100644 Binary files a/UI/__pycache__/AreaSettingWidget.cpython-310.pyc and b/UI/__pycache__/AreaSettingWidget.cpython-310.pyc differ diff --git a/UI/__pycache__/DeviceWidget.cpython-310.pyc b/UI/__pycache__/DeviceWidget.cpython-310.pyc index d95df96..78eb6a0 100644 Binary files a/UI/__pycache__/DeviceWidget.cpython-310.pyc and b/UI/__pycache__/DeviceWidget.cpython-310.pyc differ diff --git a/bin.py b/bin.py new file mode 100644 index 0000000..34de450 --- /dev/null +++ b/bin.py @@ -0,0 +1,16 @@ +from PyQt5.QtWidgets import QApplication, QStyleFactory +from UI.MainWindow import MainWindow, CommonHelper +# from model.ClientModel.Client import Client + +import time +import sys + + +if __name__ == '__main__': + app = QApplication(sys.argv) + # app.setStyle(QStyleFactory.create('Fusion')) + app.setStyleSheet(CommonHelper.readQss('static/main.qss')) + # Client.initDB() + window = MainWindow() + window.show() + sys.exit(app.exec_()) \ No newline at end of file