youtube视频嵌入pyqt [英] youtube video embedding pyqt

查看:48
本文介绍了youtube视频嵌入pyqt的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用 PyQt5 嵌入 youtube 视频?我尝试执行以下操作,但它给了我一个未解决的错误:

<块引用>

DirectShowService:doRender 未解决的错误代码

from PyQt5 import QtWidgets,QtCore,QtGui导入系统,时间从 PyQt5.QtCore 导入 Qt,QUrl从 PyQt5 导入 QtWebKit从 PyQt5 导入 QtWebKitWidgets从 PyQt5.QtWebKit 导入 QWebSettings#from PyQt5 import QtWebEngineWidgets #import QWebEngineView,QWebEngineSettings类窗口(QtWidgets.QMainWindow):def __init__(self):QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled,True)super(window,self).__init__()self.centralwid=QtWidgets.QWidget(self)self.vlayout=QtWidgets.QVBoxLayout()self.webview=QtWebKitWidgets.QWebView()self.webview.setUrl(QUrl("https://www.youtube.com/watch?v=Mq4AbdNsFVw"))self.vlayout.addWidget(self.webview)self.centralwid.setLayout(self.vlayout)self.setCentralWidget(self.centralwid)自我展示()app=QtWidgets.QApplication([])前=窗口()sys.exit(app.exec_())

解决方案

您正在从 PyQt5 (

How Can I embed youtube video using PyQt5? I tried doing the following,but it gave me an unresolved error:

DirectShowService:doRender unresolved error code

from PyQt5 import QtWidgets,QtCore,QtGui
import sys, time
from PyQt5.QtCore import Qt,QUrl
from PyQt5 import QtWebKit
from PyQt5 import QtWebKitWidgets
from PyQt5.QtWebKit import QWebSettings
#from PyQt5 import QtWebEngineWidgets #import QWebEngineView,QWebEngineSettings

class window(QtWidgets.QMainWindow):
    def __init__(self):
        QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled,True)
        super(window,self).__init__()
        self.centralwid=QtWidgets.QWidget(self)
        self.vlayout=QtWidgets.QVBoxLayout()
        self.webview=QtWebKitWidgets.QWebView()
        self.webview.setUrl(QUrl("https://www.youtube.com/watch?v=Mq4AbdNsFVw"))
        self.vlayout.addWidget(self.webview)
        self.centralwid.setLayout(self.vlayout)
        self.setCentralWidget(self.centralwid)
        self.show()

app=QtWidgets.QApplication([])
ex=window()
sys.exit(app.exec_())

解决方案

You are importing some deprecated modules from PyQt5 (QtWebKit, and QtWebKitWidgets). It seems you have the right paths commented out at the bottom of your imports.

If you resolve these issues and use the proper modules (QtWebEngineCore, QtWebEngineWidgets) it works on my system.

from PyQt5 import QtWidgets,QtCore,QtGui
import sys, time
from PyQt5.QtCore import Qt,QUrl
from PyQt5 import QtWebEngineWidgets
from PyQt5 import QtWebEngineCore
from PyQt5.QtWebEngineWidgets import QWebEngineSettings

class window(QtWidgets.QMainWindow):
    def __init__(self):
        QWebEngineSettings.globalSettings().setAttribute(QWebEngineSettings.PluginsEnabled,True)
        super(window,self).__init__()
        self.centralwid=QtWidgets.QWidget(self)
        self.vlayout=QtWidgets.QVBoxLayout()
        self.webview=QtWebEngineWidgets.QWebEngineView()
        self.webview.setUrl(QUrl("https://www.youtube.com/watch?v=Mq4AbdNsFVw"))
        self.vlayout.addWidget(self.webview)
        self.centralwid.setLayout(self.vlayout)
        self.setCentralWidget(self.centralwid)
        self.show()

app=QtWidgets.QApplication([])
ex=window()
sys.exit(app.exec_())

The output I get looks like the following (which seems correct):

这篇关于youtube视频嵌入pyqt的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆