pyqt5:qwebengineview not of load URL

发布于 2025-01-26 23:28:04 字数 825 浏览 4 评论 0原文

我正在尝试使用Python 3.10.4&进行浏览器。 PYQT5 v5.15.6,在虚拟环境(VENV)中。

我的问题是qwebengineview没有加载URL,所以我只有一个空白窗口。

这是我的代码:

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *


class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.browser = QWebEngineView()
        self.browser.load(QUrl('https://www.google.com'))
        self.browser.loadFinished.connect(self.test)
        self.setCentralWidget(self.browser)
        self.showMaximized()

    def test(self):
        print('super')


app = QApplication(sys.argv)
QApplication.setApplicationName('Jello')
window = MainWindow()
app.exec_()

您对解决方案有任何想法吗?我已经浏览了许多网页而没有找到任何潜在客户。

谢谢!

I'm trying to make a browser, using Python 3.10.4 & PyQt5 v5.15.6, in a virtual environment (venv).

My problem is that QWebEngineView doesn't load URL, so I just have a blank window.

Here is my code:

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *


class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.browser = QWebEngineView()
        self.browser.load(QUrl('https://www.google.com'))
        self.browser.loadFinished.connect(self.test)
        self.setCentralWidget(self.browser)
        self.showMaximized()

    def test(self):
        print('super')


app = QApplication(sys.argv)
QApplication.setApplicationName('Jello')
window = MainWindow()
app.exec_()

Do you have any idea of a solution for that? I've walked through many web pages without finding any lead.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吃→可爱长大的 2025-02-02 23:28:04

我在Linux Manjaro Kde上也有同样的问题
解决方案是将“ -no-sandbox”作为第二项添加到qapplication()参数列表中:

app = QApplication(['', '--no-sandbox'])

so,
此代码正常工作:

from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5 import QtCore
app = QApplication(['', '--no-sandbox'])
main = QWebEngineView()
main.load(QtCore.QUrl(f"https://fast.com"))
main.show()
app.exec_()

”在此处输入图像说明”

但是这个:不起作用:

from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5 import QtCore
app = QApplication([])
main = QWebEngineView()
main.load(QtCore.QUrl(f"https://fast.com"))
main.show()
app.exec_()

”在此处输入图像说明”

I had the same issue on Linux Manjaro KDE
the solution is to add '--no-sandbox' as a second item into QApplication() argument list like this:

app = QApplication(['', '--no-sandbox'])

so,
this code works fine:

from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5 import QtCore
app = QApplication(['', '--no-sandbox'])
main = QWebEngineView()
main.load(QtCore.QUrl(f"https://fast.com"))
main.show()
app.exec_()

enter image description here

but this one: does Not work:

from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5 import QtCore
app = QApplication([])
main = QWebEngineView()
main.load(QtCore.QUrl(f"https://fast.com"))
main.show()
app.exec_()

enter image description here

不再让梦枯萎 2025-02-02 23:28:04

您没有提及您的操作系统和版本,但是我在Ubuntu 22.04中看到了此错误。尝试通过系统软件包安装PYQTWEBENGINE,并在虚拟环境之外运行代码。在Ubuntu:

sudo apt install python3-pyqt5.qtwebengine

You didn't mention your OS and version, but I've seen this error in Ubuntu 22.04. Try installing PyQtWebEngine via system package and running your code outside the virtual environment. In Ubuntu:

sudo apt install python3-pyqt5.qtwebengine
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文