使用PyQt处理基本GUI。 我有一个启动主窗口(QMainWindow)。 通过单击它,将打开新窗口(QWidget)。 点击它后,下一个窗口(QWidget)打开,依此类推。 每个QWidget都包含两个按钮(但在我的情况下是标签):back和quit。
后退按钮(标签)应该只显示上一个窗口。 退出按钮应该删除QWidgets的所有实例,只显示启动主窗口而内存中没有任何先前的QWidgets实例。
我的代码:
class Ui_MainWindow(object):
def setupUi(self, MainWindow, picturesPath):
....window properties...
self.label.mousePressEvent = self.labelClicked
self.nextWindow=None
self.nextWindowInst=None
def labelClicked(self, event):
self.nextWindow=QtGui.QWidget()
self.nextWindowInst=Ui_Widget1()
self.nextWindowInst.setupUi(self.nextWindow)
self.nextWindow.show()
class Ui_Widget1(QtGui.QWidget):
def setupUi(self):
...window properties...
self.labelStart.mousePressEvent = self.labelPocetakClicked
def labelStartClicked(self, event):
...somehow to delete UI_Widget1 instance that was created in main window...
def main():
import sys
app = QtGui.QApplication(sys.argv)
MainWindow=QtGui.QMainWindow()
ui=Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
我想,当我点击Ui_Widget1实例上的标签labelStart来关闭显示的QWidget窗口时,还要删除Ui_Widget1实例。