我写了一个继承自QtGui.QMainWindow(python/pyqt(的对象。它显示图像并给我更多的控件。我想将此对象用作在脚本流程中绘制图形的附加方法(如 plt.show(((
问题是显示此对象涉及如下代码:
app = QtGui.QApplication(sys.argv)
mainWin = ImageViewerWindow(result) #ImageViewerWindow inherits from QtGui.QMainWindow
mainWin.show()
app.exec_()
关闭"应用程序"后,我无法显示其他窗口。有没有办法显示此窗口,等待它关闭,然后在不显式使用信号的情况下显示另一个窗口?
(信号可以在幕后使用,但我不想使想要用最少数量的命令显示图像的用户复杂化(
可能是最简单的方法,另一种方法是在窗口中捕获关闭事件。
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()