PyQt QWebEngineView 出现上下文菜单的工具提示时黑色闪烁

PyQt QWebEngineView black flicker when tooltip of context menu comes up

提问人:Etscharntmin 提问时间:8/6/2023 更新时间:8/6/2023 访问量:53

问:

我的PyQtWebEngineView随机闪烁黑色(我认为这与上下文菜单和工具提示有关)

试试吧:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineSettings


class UiBrowser(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.browser = QWebEngineView(self)
        self.browser.setUrl(QtCore.QUrl("https://www.google.com"))
        self.browser.settings().setAttribute(QWebEngineSettings.FullScreenSupportEnabled, True)

        self.initUI()

    def initUI(self):
        layout = QtWidgets.QVBoxLayout(self)
        layout.addWidget(self.browser)

    def keyPressEvent(self, event):
        if event.key() == QtCore.Qt.Key_F11:
            self.toggleFullScreen()

    def toggleFullScreen(self):
        if self.isFullScreen():
            self.showNormal()
        else:
            self.showFullScreen()


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = QtWidgets.QMainWindow()
    window.setWindowTitle("Minimal Web Browser")
    browser_widget = UiBrowser()
    window.setCentralWidget(browser_widget)
    window.showFullScreen()
    sys.exit(app.exec_())

这是原始代码中的视频:

https://youtu.be/OrSx2awx4Lg(我不得不用手机录制它,因为 OBS 不起作用)如果您运行给定的代码,您将看到相同的结果。

python pyqt pyqt5 闪烁 qwebengineview

评论

0赞 ekhumoro 8/6/2023
我无法在 arch-linux 上使用 Qt-5.15.10 重现这一点。因此,此问题特定于您正在测试的平台/硬件和/或您使用的 Qt5 版本。
0赞 relent95 8/7/2023
它在我的 Ubuntu 20.04 和 PyQt 5.15.9 上也无法重现。
0赞 jett chen 8/7/2023
可能是您的网络不好或硬件很差。
0赞 Etscharntmin 8/7/2023
@jettchen网络不是问题,硬件也不慢。我认为这只是我的显卡或其他东西的驱动程序问题

答: 暂无答案