1
私は途中で他のアプリケーションを使用するアプリケーションを持っています(両方のアプリケーションが.ui
ファイルを使用しています)。したがって、SecondWindow
に2番目のアプリケーションを作成し、MainWindow
を非表示にします。今度はSecondWindow
が閉じられた後にもう一度MainWindow
と表示したいと思います。 the solution in the answerの作品が見つかりましたが、SecondWindow
の背景はMainWindow
の背景を使用しているため間違っています。 SecondWindow
がMainWindow
のクラスに閉じられているかどうかを確認する方法はありますか?SecondWindow
の親であるか、または親のために発生した背景の変更を防ぐには、MainWindow
の親ですか?2番目のウィンドウが閉じているかどうかを調べる方法
私の現在のコードはやや次のようになります。
## Define main window class from template
path = os.path.dirname(os.path.abspath(__file__))
uiFile = os.path.join(path, 'test.ui')
Ui_MainWindow, QtBaseClass = uic.loadUiType(uiFile)
uiFile2 = os.path.join(path, 'monitor.ui')
WindowTemplate, SecondWindowClass = pg.Qt.loadUiType(uiFile2)
class SecondWindow(SecondWindowClass):
def closeThis(self):
self.close()
self.parent().show()
def __init__(self, parent):
super(SecondWindow, self).__init__(parent)
# ensure this window gets garbage-collected when closed
self.setWindowTitle('pyqtgraph example: Qt Designer')
self.ui = WindowTemplate()
self.ui.setupUi(self)
self.show()
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
def showSecond(self):
self.second.show()
self.hide()
def __init__(self):
QtGui.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.ui=uic.loadUi(uiFile, self)
self.setupUi(self)
self.show()
self.second = SecondWindow(self)
self.second.hide()
self.ui.end_button.clicked.connect(lambda x:self.showSecond())
win = MainWindow()
if __name__ == '__main__':
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()