def on_actWidgetInsite_triggered(self): formDoc = QmyFormDoc(self) ## formDoc=QmyFormDoc() #也可以显示 formDoc.setAttribute(Qt.WA_DeleteOnClose) #关闭时自动删除 formDoc.docFileChanged.connect(self.do_docFileChanged) title = "Doc %d" % self.ui.tabWidget.count() curIndex = self.ui.tabWidget.addTab(formDoc, title) #添加到tabWidget self.ui.tabWidget.setCurrentIndex(curIndex) self.ui.tabWidget.setVisible(True)
def on_actDoc_Open_triggered(self): needNew = False # 是否需要新建子窗口 if len(self.ui.mdiArea.subWindowList()) > 0: #如果有打开的MDI窗口,获取活动窗口 formDoc = self.ui.mdiArea.activeSubWindow().widget() needNew = formDoc.isFileOpened() #文件已经打开,需要新建窗口 else: needNew = True curPath = os.getcwd() #获取当前路径 filename, flt = QFileDialog.getOpenFileName( self, "打开一个文件", curPath, "文本文件(*.cpp *.h *.py);;所有文件(*.*)") if (filename == ""): return if (needNew): formDoc = QmyFormDoc(self) #必须指定父窗口 self.ui.mdiArea.addSubWindow(formDoc) #添加到MDI区域 formDoc.loadFromFile(filename) formDoc.show() self.__enableEditActions(True)
def on_actWidget_triggered(self): formDoc = QmyFormDoc(self) #必须传递self,否则无法显示 formDoc.setAttribute(Qt.WA_DeleteOnClose) formDoc.setWindowTitle("基于QWidget的窗体,关闭时删除") formDoc.setWindowFlag(Qt.Window, True) ## formDoc.setWindowFlag(Qt.CustomizeWindowHint,True) ## formDoc.setWindowFlag(Qt.WindowMinMaxButtonsHint,False) ## formDoc.setWindowFlag(Qt.WindowCloseButtonHint,True) ## formDoc.setWindowFlag(Qt.WindowStaysOnTopHint,True) formDoc.setWindowOpacity(0.9) #窗口透明度 formDoc.show()
def on_actDoc_New_triggered(self): formDoc = QmyFormDoc(self) self.ui.mdiArea.addSubWindow(formDoc) #文档窗口添加到MDI formDoc.show() #在单独的窗口中显示 self.__enableEditActions(True)