diff --git a/UI/MainWindow.py b/UI/MainWindow.py index b7238aa..413d7a1 100644 --- a/UI/MainWindow.py +++ b/UI/MainWindow.py @@ -30,7 +30,7 @@ class MainWindow(QMainWindow): super().__init__() - self.sub_windows = [] #存储设备widget + self.subWindows = [] #存储设备widget self.nowValue = [] #储存当前值 self.areaLabel = [] #存储通道信息文本 self.areaDict = {} @@ -52,11 +52,12 @@ class MainWindow(QMainWindow): 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.loadProjectBtn = QAction('导入工程', self) + self.loadProjectBtn.setObjectName("loadProjectBtn") + self.loadProjectBtn.triggered.connect(self.loadProject) self.toolbar.addAction(self.addDiviceBtn) + self.toolbar.addAction(self.loadProjectBtn) self.toolbar.addAction(self.startProtocolBtn) self.mdi_area = QMdiArea() @@ -78,7 +79,7 @@ class MainWindow(QMainWindow): def deviceWidget(self, windowTitle): - sub_window = AreaQMdiSubWindow()# 创建一个子窗口 + sub_window = AreaQMdiSubWindow(self)# 创建一个子窗口 sub_window.setObjectName('sub_window') areaLayout1 = QGridLayout() areaLayout2 = QGridLayout() @@ -126,10 +127,12 @@ class MainWindow(QMainWindow): sub_window.show() - self.sub_windows.append(sub_window) + self.subWindows.append(sub_window) return sub_window + def loadProject(self): + pass def initAreaWidget(self): alldevices = DevicesManange().getAllDevice() @@ -329,7 +332,7 @@ class MainWindow(QMainWindow): # if btn in item: # item[4].setText(item[5].text()) def writeValue(self): - for deviceNames in self.sub_windows: + for deviceNames in self.subWindows: deviceName = deviceNames.windowTitle() areas = [[1,2,3,4,5],[2,3,4,5]] for area in areas: @@ -348,20 +351,16 @@ class MainWindow(QMainWindow): print(a) - def closeEvent(self, event): - pass - - - def deleteAreaWidget(self): - pass - class AreaQMdiSubWindow(QMdiSubWindow): - def __init__(self): + def __init__(self, parentWindow): super().__init__() - self.number = 0 + self.parentWindow = parentWindow def closeEvent(self, event): + print(self.parentWindow.subWindows) + self.parentWindow.subWindows.remove(self) + print(self.parentWindow.subWindows) DeviceDB.deleteDevice(deviceName = self.windowTitle()) @@ -370,6 +369,7 @@ class AreaQMdiSubWindow(QMdiSubWindow): + if __name__ == '__main__': app = QApplication(sys.argv) Client.initDB()