5 秒后更改 url
change url after 5 seconds
一旦 PyQt5 window 和 webEngine 已经启动,我想重定向到其他 link。这是我已经尝试过的:
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 秒,让第二个 link 显示,它永远不会显示 google 登录页面。如何在登录页面加载后重定向到另一个 link?
切勿在 GUI 中使用 time.sleep()
,因为它会阻塞 GUI,使其无法正常执行任务,例如显示 window、更新 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()
一旦 PyQt5 window 和 webEngine 已经启动,我想重定向到其他 link。这是我已经尝试过的:
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 秒,让第二个 link 显示,它永远不会显示 google 登录页面。如何在登录页面加载后重定向到另一个 link?
切勿在 GUI 中使用 time.sleep()
,因为它会阻塞 GUI,使其无法正常执行任务,例如显示 window、更新 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()