5秒钟后更改网址

时间:2019-03-21 21:07:59

标签: python pyqt5 qtwebengine

一旦PyQt5窗口和webEngine已经启动,我想重定向到其他链接。这是我已经尝试过的:

import sys
import time
from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets

def mainPyQt5():

    url = 'https://accounts.google.com/signin/v2'
    app = QtWidgets.QApplication(sys.argv)
    browser = QtWebEngineWidgets.QWebEngineView()
    browser.load(QtCore.QUrl(url))
    browser.show()
    time.sleep(5)
    browser.load(QtCore.QUrl("https://youtube.com"))
    browser.show()
    time.sleep(5)
    sys.exit(app.exec_())

mainPyQt5()

这将仅等待5秒钟,第二个链接才会显示,它将永远不会显示google登录页面。登录页面加载后,如何重定向到另一个链接?

1 个答案:

答案 0 :(得分:1)

切勿在GUI中使用time.sleep(),因为它会阻塞GUI,阻止其正常执行其任务,例如显示窗口,更新GUI状态等。请改用QTimer。

import sys
from functools import partial
from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets

def mainPyQt5():
    url = 'https://accounts.google.com/signin/v2'
    app = QtWidgets.QApplication(sys.argv)
    browser = QtWebEngineWidgets.QWebEngineView()
    browser.load(QtCore.QUrl(url))
    browser.show()
    QtCore.QTimer.singleShot(5*1000, partial(browser.load, QtCore.QUrl("https://youtube.com")))
    sys.exit(app.exec_())
mainPyQt5()