【发布时间】:2020-12-21 10:52:27
【问题描述】:
我使用 qtgenerator 创建了几个窗口,并使用这种插槽来隐藏当前窗口并显示另一个窗口:
SearchResearchScreen.py
class Ui_ResearchMenu(object):
def setupUi(self, ResearchMenu):
...
def retranslateUi(self, ResearchMenu):
...
def edit_clicked1(self):
self.window = QtWidgets.QMainWindow()
self.ui = Ui_EditNewResearch()
self.ui.setupUi(self.window)
self.window.show()
ResearchMenu.hide()
self.timer = QtCore.QTimer()
self.timer.setInterval(100)
self.timer.timeout.connect(self.checkVar)
self.timer.start()
EditresearchScreen.py -
class Ui_EditNewResearch(object):
def setupUi(self, EditNewResearch):
...
def retranslateUi(self, EditNewResearch):
...
def btn_Cancel_clicked(self):
global status
status = False
self.window = QtWidgets.QMainWindow()
self.ui = Ui_ResearchMenu()
self.ui.setupUi(self.window)
self.window.show()
EditNewResearch.hide()
单击按钮时效果很好,之后,在第二个窗口中,我使用相同的代码返回到第一个窗口,但应用程序崩溃了。除非我评论.hide(),否则我无法返回同一个窗口,只能在旧窗口仍然存在于后台时打开一个新窗口。
如何在不同的窗口中移动而不导致程序崩溃?
【问题讨论】: