我正在从 Flask 调用一个抓取类,并且第二次实例化一个新的 Webkit() 类(QApplication)时,它会退出我的 Flask 应用程序。
如何多次重新运行 Qt GUI 应用程序并将其包含在内,这样它就不会关闭“外部”应用程序?
进一步说明,Qt 是事件驱动,调用 QApplication.quit() 不仅会关闭事件循环,还会关闭 Python。尽管永远不会继续执行其余代码,但不调用 quit()。
class Webkit():
...
def __run(self, url, method, dict=None):
self.qapp = QApplication(sys.argv) # FAIL here the 2nd time round
req = QNetworkRequest()
req.setUrl(QUrl(url))
self.qweb = QWebView()
self.qweb.setPage(self.Page())
self.qweb.loadFinished.connect(self.finished_loading)
self.qweb.load(req)
self.qapp.exec_()
def finished_loading(self):
self.qapp.quit()