J'appelle une classe scraping de Flask et la seconde fois que j'instancie une nouvelle classe Webkit() (QApplication), elle ferme mon application Flask.QtWebKit QApplication appel deux fois
Comment puis-je relancer une application Qt GUI plusieurs fois et la contenir pour qu'elle ne ferme pas l'application "externe"?
Plus d'informations, Qt est le lecteur d'événements et l'appel QApplication.quit() ferme non seulement la boucle d'événements mais aussi Python. Ne pas appeler quit() mais ne continue jamais d'exécuter le reste du code.
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()