loadFinished 完成后退出 PyQt4 应用程序
Posted
技术标签:
【中文标题】loadFinished 完成后退出 PyQt4 应用程序【英文标题】:Quit PyQt4 app when loadFinished complete 【发布时间】:2012-12-06 19:31:34 【问题描述】:我想在 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】:只需在主窗口中调用close():
def some_action(self):
# do something here
# after it's done close app
self.close()
关闭最后一个主窗口后,应用程序将自动退出。
您也可以直接调用应用程序的quit 函数:
app.quit()
或者,更一般地说:
QCoreApplication.instance().quit()
【讨论】:
以上是关于loadFinished 完成后退出 PyQt4 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
为啥在某些网站上多次调用 QWebView.loadFinished,例如YouTube?
如何在使用 QWebEngineView 'loadFinished' 加载页面后立即更改 html 元素?