Python 如何使用QWebEngineView每隔一个计划周期刷新QApplication
我正在尝试使用PYQT5、QWebEngineView和schedule在给定时间段内重新加载URL 就我搜索而言,代码在app_exec()之后停止执行。所以 而cicle和scheduler永远不会被执行 就我的搜索而言,有不同的方法来重新加载页面(重新加载、刷新、重新绘制),但我找不到在网页执行期间执行此操作的方法 有什么想法吗Python 如何使用QWebEngineView每隔一个计划周期刷新QApplication,python,pyqt5,refresh,schedule,qapplication,Python,Pyqt5,Refresh,Schedule,Qapplication,我正在尝试使用PYQT5、QWebEngineView和schedule在给定时间段内重新加载URL 就我搜索而言,代码在app_exec()之后停止执行。所以 而cicle和scheduler永远不会被执行 就我的搜索而言,有不同的方法来重新加载页面(重新加载、刷新、重新绘制),但我找不到在网页执行期间执行此操作的方法 有什么想法吗 import sys from PyQt5.QtWidgets import QApplication from PyQt5.QtCore import QUrl
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEngineView
import schedule, time
def job():
print('test')
print('Reload :%s',time.time())
browser.reload()
browser.refresh()
browser.sender().reload()
browser.repaint()
url ='http://www.google.com'
app = QApplication(sys.argv)
browser = QWebEngineView()
browser.load(QUrl(url))
browser.showFullScreen()
schedule.every(0.5).minutes.do(job)
sys.exit(app.exec_())
while True:
schedule.run_pending()
time.sleep(1)
app.exec_389;()
是允许GUI执行其任务(如侦听事件和更新GUI状态)的事件循环,该事件循环类似于,而True:doSomething()
,因此只有在GUI完成运行时才会执行它之后的代码。另一方面,如果要执行定期任务,则必须使用QTimer
:
import sys
import time
from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets
def job():
print('test')
print('Reload :%s',time.time())
browser.reload()
if __name__ == '__main__':
url ='http://www.google.com'
app = QtWidgets.QApplication(sys.argv)
browser = QtWebEngineWidgets.QWebEngineView()
browser.load(QtCore.QUrl(url))
browser.show()
timer = QtCore.QTimer(interval=30*1000)
timer.timeout.connect(job)
timer.start()
sys.exit(app.exec_())