2012-06-11 4 views
0

어떻게 QtWebkit으로 여러 페이지를 렌더링하고 각각을 사용자 정의 파이썬 코드로 처리 할 수 ​​있습니까?PyQt4.QtWebKit 및 여러 웹 사이트 렌더링

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가 더 이상 응답하지 않습니다. 내가 뭘 놓치고 있니?

답변

1

loadFinished에서 self.app.quit()으로 전화하십시오. 이로 인해 첫 번째 페이지로드가 완료 될 때마다 이벤트 루프가 중지됩니다. 이 문제를 해결하려면 모든 페이지를 완료 할 때까지 self.app.quit()으로 전화하지 않아야합니다.

관련 문제