1
私はFlaskからスクレイピングクラスを呼び出し、2回目には新しいWebkit()クラス(QApplication)をインスタンス化し、Flaskアプリケーションを終了します。QtWebKit Qアプリケーション呼び出しを2回
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()