等到网页载入完成加载

问题描述:

我使用PyQt的web视图来浏览某些网页,我已经存储在词典列表中的下一个代码是这样的:等到网页载入完成加载

def loadLink(self, url):   
    manager = QNetworkAccessManager() 
    request = QNetworkRequest(QUrl(url))   
    self.ui.webView.load(QUrl(visitar))  

def readUnreadLinks(self): 
    print "Links to read: " + str(len(self.unreadLinks)) 
    for link in self.unreadLinks: 
     print "link-> " + str(link) 
     self.loadLink(link) 

问题它不会等到完成加载网页并开始加载下一个网页。我想加载一个网页,等待它完成加载,然后加载下一个。

谢谢,这是推动我疯了:)

你可能想使用YOUT QWebView控制的loadFinished信号来检测时,页面加载是新的成品和触发加载。 PLS,看看下面的例子会为你工作:

import sys 
from PyQt4 import QtGui, QtCore, QtWebKit 

class MainForm(QtGui.QMainWindow): 
    def __init__(self, parent=None): 
     super(MainForm, self).__init__(parent) 

     self.pages = ['http://www.google.com', 'http://www.citrix.com', 'http://yahoo.com', 'http://reddit.com'] 
     self.index = 0 

     self.view = QtWebKit.QWebView() 
     self.view.connect(self.view, QtCore.SIGNAL('loadFinished(bool)'), self.loadFinished) 
     self.setCentralWidget(self.view) 

     self.view.load(QtCore.QUrl(self.pages[self.index])) 

    def loadFinished(self, ok): 
     self.index += 1 
     if self.index < len(self.pages) : 
      self.view.load(QtCore.QUrl(self.pages[self.index])) 
     else: 
      print 'done' 

def main(): 
    app = QtGui.QApplication(sys.argv) 
    form = MainForm() 
    form.show() 
    app.exec_() 

if __name__ == '__main__': 
    main() 

希望这会有所帮助,至于