【发布时间】:2021-07-07 15:51:08
【问题描述】:
我遇到了一个奇怪的问题,这个简单的 QWebEngine 代码作为 Windows 10 上的普通用户运行得非常好(完全加载页面),但是当我提升自己的默认用户帐户时,它会停止加载页面。进度输出将从 0->100 开始,不会在浏览器上调用 loadFinished 或在页面上显示任何输出。我尝试将它作为提升的标准管理员内置帐户运行,它似乎工作起来很奇怪。
这是卸载的页面:
它工作正常:
使用os.environ["QT_DEBUG_PLUGINS"] = "1" 运行不会显示提升和非提升进程之间的任何差异。
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtWidgets import QApplication, QMainWindow
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.browser = QWebEngineView()
self.browser.setUrl(QUrl('https://www.google.com'))
self.browser.loadProgress.connect(self.on_load_progress)
self.setCentralWidget(self.browser)
self.show()
def on_load_progress(self, progress: int):
print(f'loading progress:[{progress}]...')
app = QApplication(sys.argv)
main_win = MainWindow()
app.exec()
【问题讨论】:
-
快速更新:在连接到 QWebEngineView.renderProcessTerminated 信号后,我发现渲染进程在页面的 [0] 和 [100] 加载进度之前一直被终止。
标签: python windows pyqt5 python-3.9 qwebengineview