loadFinished完成后退出PyQt4应用程序

时间:2012-12-06 19:31:35

标签: python qt pyqt4 qwebview

我想在loadFinished完成后关闭窗口。 想象一下简单的代码:

class Example(QWebView):
    def __init__(self):
        QWebView.__init__(self)
        self.frame = self.page().mainFrame()
        self.frame.loadFinished.connect(self.some_action)

    def some_action(self):
        # do something here
        # after it's done close app

if __name__ == '__main__':
    app = QApplication(sys.argv)
    url = QUrl("some_website")
    br = Example()
    br.load(url)
    br.show()
    app.exec_()

1 个答案:

答案 0 :(得分:1)

只需在主窗口上调用close()

def some_action(self):
    # do something here
    # after it's done close app
    self.close()

关闭最后一个主窗口后,应用程序将自动退出。

您也可以直接调用应用程序的quit函数:

    app.quit()

或者更一般地说:

    QCoreApplication.instance().quit()