QWebEngineView 适用于 Windows,但 Pyside2 中的 OSX 上的灰色空白页面

Posted

技术标签:

【中文标题】QWebEngineView 适用于 Windows,但 Pyside2 中的 OSX 上的灰色空白页面【英文标题】:QWebEngineView works on Windows but grey blank Page on OSX in Pyside2 【发布时间】:2020-06-28 07:18:33 【问题描述】:

我创建了一个简单的示例,它表明在 Windows 中运行相同的代码可以按预期工作,但在 OSX 上显示的是深灰色页面。有什么想法吗?

from PySide2 import QtCore, QtGui, QtWidgets
from PySide2.QtCore import QUrl
from PySide2.QtWebEngineWidgets import QWebEnginePage, QWebEngineView

class MainWindow(QtWidgets.QMainWindow):

    def __init__(self):
        super(MainWindow, self).__init__()

        self.webEngineView = QWebEngineView()
        self.setCentralWidget(self.webEngineView)
        initialUrl = "https://www.google.com"


        self.webEngineView.load(QUrl(initialUrl))
        self.webEngineView.load(initialUrl)


mainWin = MainWindow()
mainWin.show()

【问题讨论】:

你用的是什么版本的pyside2?尝试更新它:python -m pip install --upgrade pyside2 这是随 Autodesk Maya (Python2) 提供的 嗯,可能是 Maya 导致了错误。 尝试调整窗口大小,强制其呈现。 【参考方案1】:

Autodesk Maya 2020 中的macOS 10.15.5 Catalina 中的以下代码工作正常

因此,如果它在 Windows 中无法正常工作,您需要升级您的 PySide2 库!

from PySide2.QtCore import QUrl
from PySide2.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
from PySide2 import QtCore, QtGui, QtWidgets

class MainWindow(QtWidgets.QMainWindow):

    def __init__(self, parent=None):   

        super(MainWindow, self).__init__(parent)
        
        self.webEngineView = QWebEngineView()
        self.setCentralWidget(self.webEngineView)
        initialUrl = "https://www.autodesk.com"

        self.webEngineView.load(QUrl(initialUrl))
        self.webEngineView.load(initialUrl)
            
mainWin = MainWindow()
mainWin.show()

附言

如果您仍然遇到此问题,请从头开始重新安装 Maya。

【讨论】:

您在 Maya 的脚本编辑器中运行它并且它启动得非常好? 是的,我是从脚本编辑器(Maya 学生版)启动的。 这很奇怪,我的意思是我也使用了学生版,而 PySide2 指向 /Applications/Autodesk/maya2019/Maya.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages/PySide2/__init__.pyc # 出于某种原因,窗口对我来说总是灰色的。 然后删除所有 Maya 文件夹并从头开始安装。 我已经在多台 Mac 上使用 Catalina 10.15.12 进行了测试,它始终是灰色页面。

以上是关于QWebEngineView 适用于 Windows,但 Pyside2 中的 OSX 上的灰色空白页面的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5 window.close() 不会关闭窗口,但 window.open() 工作正常

使用 wrld.js 时出现 QWebEngineView “Access-Control-Allow-Headers”错误

PyQt5 等效于 QtWebEngineWidgets.QWebEngineView() 的 QtWebKitWidgets.QWebView.page.mainFrame()?

window.navigate 仅适用于 Internet Explorer

window.print() 是不是适用于 iPad 上所有版本的 Safari?

JS window.addEventListener仅适用于一页