我想问一下,当我在标题中写道时,如何打开一个新窗口并关闭(完全)当前窗口?
有两个.py
个文件。它们彼此独立,这意味着它们中的每一个都可以独立运行。
在MyApp.py中有一个按钮。如果单击该按钮,我想关闭当前窗口/文件并打开新窗口/文件。
在下面的代码中,我可以打开新窗口/文件,但旧窗口未关闭。如果我关闭第二个窗口,旧窗口也将关闭。我用我的知识/搜索尝试了一些方法,但没有一个能正常工作。
以下是MyApp.py
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import NewApp
# NewApp.py in the same folder
# in NewApp.py there is a class NewApp
qtCreatorFile_MyApp = "F:\\MyApp.ui"
class MyApp(QWidget):
def __init__(self):
super(MyApp, self).__init__()
uic.loadUi(qtCreatorFile_MyApp, self)
self.show()
self.btn_inMyApp.clicked.connect(self.closeMyApp_OpenNewApp)
def closeMyApp_OpenNewApp(self):
self.Open = NewApp.NewApp()
self.Open.show()
# My Problem: How to close the MyApp completely and open NewApp?
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
sys.exit(app.exec_())
NewApp.py
具有类似的代码结构。为了这个问题的完整性,我将代码粘贴如下。
qtCreatorFile_NewApp = "F:\\NewApp.ui"
class NewApp(QWidget):
def __init__(self):
super(NewApp, self).__init__()
uic.loadUi(qtCreatorFile_NewApp, self)
self.show()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = NewApp()
sys.exit(app.exec_())
谢谢你的帮助!