显示QtGui.QMainWindow对象,之后不退出脚本

时间:2018-03-21 10:19:57

标签: python pyqt

我写了一个继承自QtGui.QMainWindow(python / pyqt)的对象。它显示图像并给我更多控件。我想使用这个对象作为在脚本流程中绘制图形的其他方法(如plt.show())

问题是显示此对象涉及如下代码:

List<int> days
Example days = [2,4,5,6], with data as above result is 1

&#34; app&#34;关闭了,我无法显示其他窗口。有没有办法显示这个窗口,等待它关闭,然后显示另一个窗口而不显式使用信号?

(信号可以在幕后使用,但我不想让想要用最少的命令显示图像的用户复杂化)

1 个答案:

答案 0 :(得分:0)

可能是简单的方式,另一种方式是在窗口中捕捉结束事件。

    app = QtGui.QApplication(sys.argv)
    mainWin = ImageViewerWindow(result) #ImageViewerWindow inherits from QtGui.QMainWindow
    mainWin.show()
    differentWindow = dW()  # your other window
    app.aboutToQuit.connect(lambda: differentWindow.show())
    app.exec_() 

另一种方法是将closeEvent方法添加到窗口类

class ImageViewerWindow(...): # or QMainWindow
    ...

    def closeEvent(self, event):
        differentWindow = dW()  # your other window
        differentWindow.show()