等到网页载入完成加载
问题描述:
我使用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()
希望这会有所帮助,至于