如何使用QtWebkit渲染多个页面并使用自定义python代码处理每个页面?
现在我有:
class FetchThumb(object):
def __init__(self):
self.app = QApplication(sys.argv)
self.web = QWebView()
self.app.connect(self.web, SIGNAL("loadFinished(bool)"), self.loadFinished)
def fetch(self, url, options, callback):
self.options = options
self.url = url
self.callback = callback
self.web.load(QUrl(url))
self.app.exec_()
def loadFinished(self, status):
print "URL %s loaded, status is ok? %s" % (self.url, status)
# do something with result...
# exit event loop
self.app.quit()
我打电话给它一次:
fetcher = FetchThumb()
fetcher.fetch(args[-1], options, callback or default_callback)
的工作原理。但如果我想再次使用“fetch”,Qt就不再响应了。我错过了什么?
答案 0 :(得分:1)
在loadFinished
中,您拨打self.app.quit()
。这会导致在第一页完成加载时停止事件循环。解决方法是在完成所有页面之前不要调用self.app.quit()
。