怎么优化整站,门户网站建设和推广,优化师简历,网站的上传与发布Qt自带的QWebEngine 不支持播放MP4, 需要手动编译QWebEngine模块 不支持播放mp4
// mainwindow.cpp
, m_webEngine(new MyWebEngine(this))
void MainWindow::init()
{ //关闭系统代理#xff0c;提高速度,采用release会更快QNetworkProxyFactory::setUseSystemConfigurati…Qt自带的QWebEngine 不支持播放MP4, 需要手动编译QWebEngine模块 不支持播放mp4
// mainwindow.cpp
, m_webEngine(new MyWebEngine(this))
void MainWindow::init()
{ //关闭系统代理提高速度,采用release会更快QNetworkProxyFactory::setUseSystemConfiguration(false);setCentralWidget(m_webEngine);
}// mywebengine.h
#include QWebEngineView
#include QWebEnginePageclass QUrl;
class WebView : public QWebEngineView
{Q_OBJECT
public:explicit WebView(QWidget *parent nullptr);
protected:QWebEngineView* createWindow(QWebEnginePage::WebWindowType type) override;
private:void initControl();
private:QUrl url;
};class MyWebEngine: public QWidget{Q_OBJECT
public:explicit MyWebEngine(QWidget*parent nullptr);
};
#endif // MYWEBENGINE_H
// mywebengine.cpp
#include mywebengine.h
#include QWebEngineFullScreenRequest
#include QWebEngineSettings
#include QWebEngineView
#include QLineEdit
#include QToolButton
#include QBoxLayoutWebView::WebView(QWidget *parent)
{setAttribute(Qt::WA_DeleteOnClose);settings()-setAttribute(QWebEngineSettings::FullScreenSupportEnabled,true);initControl();
}QWebEngineView *WebView::createWindow(QWebEnginePage::WebWindowType) {load(url);return nullptr;
}void WebView::initControl()
{connect(page(), QWebEnginePage::linkHovered, this,[](const QString u){url.setUrl(u);});connect(page(),QWebEnginePage::fullScreenRequested,this,[](QWebEngineFullScreenRequest pageRequeset) {pageRequeset.accept();});
}MyWebEngine::MyWebEngine(QWidget *parent)
{auto vlayout new QVBoxLayout(this);auto layout new QHBoxLayout(this);auto *back new QToolButton(this); back-setText();auto *forword new QToolButton(this); forword-setText();auto *reload new QToolButton(this); reload-setText(刷新);auto *go new QToolButton(this); go-setText(Go);auto *input new QLineEdit(this);input-setClearButtonEnabled(true);input-setText(https://www.baidu.com);auto *view new WebView(this);setStyleSheet(R(QToolButton,QLineEdit{height:30px;border-radius:2px;}
QLineEdit{font-size:14px;padding:0 0 0 8; border:none;border-radius:13px;}
QToolButton:hover,QLineEdit:hover{border:1px solid #4999FA;background-color:#DDEEFF}
));layout-addWidget(back);layout-addWidget(forword);layout-addWidget(reload);layout-addWidget(input);layout-addWidget(go);layout-setContentsMargins(0,0,0,0);layout-setSpacing(0);vlayout-setContentsMargins(0,0,0,0);vlayout-setSpacing(0);vlayout-addLayout(layout);vlayout-addWidget(view);connect(forword,QToolButton::clicked,view,QWebEngineView::forward);connect(back,QToolButton::clicked,view,QWebEngineView::back);connect(reload,QToolButton::clicked,view,QWebEngineView::reload);connect(go,QToolButton::pressed,this,[](){auto url input-text().trimmed();// if(!url.contains(www)) url www.url;if(!url.contains(http))url https://url;// qDebug() url: url;input-setText(url);view-load(url);});connect(input,QLineEdit::returnPressed,go,QToolButton::pressed);connect(view,QWebEngineView::urlChanged,this,[](const QUrl u){input-setText(u.toString());});emit go-pressed();
}