1

現在、qmdiarea と mdisubwindows を使用して、いくつかのウィジェットで pyqt5 アプリケーションを作成しています。画像を表示するメイン サブウィンドウと、そのメイン サブウィンドウに関連付けられたいくつかのウィジェットがあります。最終的には、すべてのアクセサリ ウィジェットを削除したいと考えています。エラーではなく警告メッセージが表示されますが、この警告メッセージを取り除きたいです。

これは、サブウィンドウを作成する方法とそれらを閉じる方法です。

サブウィンドウの作成:

        self.LUTobj         = QMdiSubWindow()    
        self.DATAobj        = QMdiSubWindow()    
        self.MEASUREobj     = QMdiSubWindow()    
        self.REFERENCEobj   = QMdiSubWindow()    
        self.SPATIALRESOLobj= QMdiSubWindow()    
        self.LINEPROFILEobj = QMdiSubWindow()    
        self.SNRobj         = QMdiSubWindow()   
        self.CNRobj         = QMdiSubWindow()   

サブウィンドウの削除:

def closeSubwindowObject(self):

        if self.LUTobj is not None:
            self.mdiArea.removeSubWindow (self.LUTobj)

        if self.DATAobj is not None:
            self.mdiArea.removeSubWindow (self.DATAobj)

        if self.MEASUREobj is not None:
            self.mdiArea.removeSubWindow (self.MEASUREobj)

        if self.REFERENCEobj is not None:
            self.mdiArea.removeSubWindow (self.REFERENCEobj)

        if self.SPATIALRESOLobj is not None:
            self.mdiArea.removeSubWindow (self.SPATIALRESOLobj)

        if self.LINEPROFILEobj is not None:
            self.mdiArea.removeSubWindow (self.LINEPROFILEobj)

        if self.SNRobj is not None:
            self.mdiArea.removeSubWindow (self.SNRobj)

        if self.CNRobj is not None:
            self.mdiArea.removeSubWindow (self.CNRobj)

これは、表示される警告メッセージです。

QMdiArea::removeSubWindow: ウィンドウがワークスペース内にありません

ウィンドウがワークスペース内にあるかどうかを確認する方法の手がかりはありますか?

4

1 に答える 1