The QWebEngineUrlSchemeHandler class is a base class for handling custom URL schemes. 更多...
| 頭: | #include <QWebEngineUrlSchemeHandler> |
| Since: | Qt 5.6 |
| 繼承: | QObject |
| QWebEngineUrlSchemeHandler (QObject * parent = Q_NULLPTR) | |
| virtual | ~QWebEngineUrlSchemeHandler () |
| virtual void | requestStarted (QWebEngineUrlRequestJob * request ) = 0 |
| const QMetaObject | staticMetaObject |
The QWebEngineUrlSchemeHandler class is a base class for handling custom URL schemes.
要實現自定義 URL 方案為 QtWebEngine , you first have to create an instance of QWebEngineUrlScheme and register it using QWebEngineUrlScheme::registerScheme ().
注意: Make sure that you create and register the scheme object before the QGuiApplication or QApplication 對象被實例化。
Then you must create a class derived from QWebEngineUrlSchemeHandler , and reimplement the requestStarted () 方法。
Finally, install the scheme handler object via QWebEngineProfile::installUrlSchemeHandler () 或 QQuickWebEngineProfile::installUrlSchemeHandler ().
class MySchemeHandler : public QWebEngineUrlSchemeHandler { public: MySchemeHandler(QObject *parent = nullptr); void requestStarted(QWebEngineUrlRequestJob *request) { // .... } }; int main(int argc, char **argv) { QWebEngineUrlScheme scheme("myscheme"); scheme.setSyntax(QWebEngineUrlScheme::Syntax::HostAndPort); scheme.setDefaultPort(2345); scheme.setFlags(QWebEngineUrlScheme::SecureScheme); QWebEngineUrlScheme::registerScheme(scheme); // ... QApplication app(argc, argv); // ... // installUrlSchemeHandler does not take ownership of the handler. MySchemeHandler *handler = new MySchemeHandler(parent); QWebEngineProfile::defaultProfile()->installUrlSchemeHandler("myscheme", handler); }
另請參閱 QWebEngineUrlScheme and WebEngine Widgets WebUI 範例 .
構造新 URL 方案處理程序。
創建處理程序采用父級 parent .
[虛擬]
QWebEngineUrlSchemeHandler::
~QWebEngineUrlSchemeHandler
()
刪除自定義 URL 方案處理程序。
[pure virtual]
void
QWebEngineUrlSchemeHandler::
requestStarted
(
QWebEngineUrlRequestJob
*
request
)
This method is called whenever a request request for the registered scheme is started.
This method must be reimplemented by all custom URL scheme handlers. The request is asynchronous and does not need to be handled right away.
另請參閱 QWebEngineUrlRequestJob .