我正在嘗試在QWebEngineView小部件中嵌入 youtube 視頻,但是,視頻沒有播放,我收到了這個訊息:
“在 YouTube 上觀看視頻不負責任的觀看”

我嘗試了不同的視頻,但我得到了同樣的錯誤,我還嘗試設定一些設定,例如:
QWebEngineView* view = new QWebEngineView();
view->setHtml(R"(<iframe width="800" height="600" src="https://www.youtube.com/embed/TodEc77i4t4" title="Qt 6 - The Ultimate UX Development Platform" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>)");
view->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent, true);
view->settings()->setAttribute(QWebEngineSettings::SpatialNavigationEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);
view->show();
我錯過了什么?
uj5u.com熱心網友回復:
我沒有使用HTML,我以這種方式進行測驗,它向我展示了視頻:
我在 MainWindow 中添加了這段代碼:
QWidget *wgt = new QWidget(this);
QGridLayout *gridLayout = new QGridLayout(wgt);
wgt->setStyleSheet(QString::fromUtf8("border: 1px solid black;\n"
"border-radius: 25px;background-color:black;"));
ui->centralwidget->layout()->addWidget(wgt);
QWebEngineView* view = new QWebEngineView(wgt);
view->setWindowTitle("Qt 6 - The Ultimate UX Development Platform");
view->setUrl(QUrl("https://www.youtube.com/embed/TodEc77i4t4"));
view->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent, true);
view->settings()->setAttribute(QWebEngineSettings::SpatialNavigationEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);
wgt->layout()->addWidget(view);
這是結果:

對于您的小部件樣式,請查看Qt Style Sheets Reference,它類似于 CSS,您可以使用它。
例如,您可以添加以下內容:
view->setStyleSheet(QString::fromUtf8("border: 1px solid black;\n"
"border-radius: 25px;"));
QWebEngineView 物件沒有獲得樣式,因此我將其添加到輔助小部件中并為其添加樣式。
你可以從這里克隆它:
https://gitlab.com/ParisaHR/stackoverflow_qwebengineview
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/520140.html
標籤:C qt
