【问题标题】:Cannot use fullScreen when watching video in QWebEngineView在 QWebEngineView 中观看视频时无法使用全屏
【发布时间】:2017-11-16 10:05:48
【问题描述】:

使用PyQt5 QWebEngineView,看视频时无法使用fullScreen:

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

app=QtWidgets.QApplication(sys.argv) 
w=QWebEngineView() 
w.settings().setAttribute(QWebEngineSettings.PluginsEnabled, True)
w.settings().setAttribute(QWebEngineSettings.JavascriptEnabl‌​ed, True) 
w.settings().setAttribute(QWebEngineSettings.FullScreenSuppo‌​rtEnabled, True)
w.page().fullScreenRequested.connect(QWebEngineFullScreenReq‌​uest.accept) 
w.load(QtCore.QUrl('56.com/w94/play_album-aid-14364505_vid-M‌​TQ3NDUxMjY3.html'))

w.showMaximized() 
app.exec_()

【问题讨论】:

  • 56.com/w94/play_album-aid-14364505_vid-M‌​TQ3NDUxMjY3.htmlhttp://www.56.com/w94/play_album-aid-14364505_vid-M‌​TQ3NDUxMjY3.html
  • 当您直接访问链接时,它告诉我该地点不存在并将我重定向到主页。

标签: python pyqt fullscreen pyqt5 qwebengineview


【解决方案1】:

QWebEnginePage::fullScreenRequested 信号有一个名为“request”的参数和一个名为“accept()”的函数。所以你必须打电话

request.accept()

但是您的代码使用类型名称 (QWebEngineFullScreenRequest) 并且没有引用这个确切的对象。

https://doc.qt.io/qt-5/qwebenginepage.html#fullScreenRequested

【讨论】:

    【解决方案2】:

    你可以参考下面的代码:

    m_webView->settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, true);
    
    connect(m_webView->page(), &QWebEnginePage::fullScreenRequested, this, [this] 
    (QWebEngineFullScreenRequest fullScreenRequest) {
            fullScreenRequest.accept();
            qDebug()<<"UI: fullScreenRequested: "<<fullScreenRequest.toggleOn()<<endl;
        });
    

    【讨论】:

      猜你喜欢
      • 2019-04-10
      • 1970-01-01
      • 1970-01-01
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多