[Qt は初めて川と湖に進出しました] Qt の基礎となるアーキテクチャと原則の詳細な説明 QWebEngineSettings

Yuxian: CSDN コンテンツ パートナー、CSDN の新しいスター メンター、51CTO (トップ セレブ + エキスパート ブロガー)、github オープン ソース愛好家 (ゴーゼロ ソース コードの二次開発、ゲーム バックエンド アーキテクチャ https://github.com/Peakchen)

            

 

QWebEngineSettings は Qt WebEngine モジュールのクラスで、フォント、キャッシュ、JavaScript、プラグインなどの Web ページの関連プロパティを設定するために使用されます。QWebEngineSettings の基礎となるアーキテクチャは Chromium エンジンに基づいており、Chromium の API を使用して Web ページのプロパティを設定します。

 

基礎となるアーキテクチャ:

QWebEngineSettings の基礎となるアーキテクチャは Chromium エンジンに基づいており、Chromium の API を使用して Web ページのプロパティを設定します。一番下にある QWebEngineSettings は、複数のサブコンポーネントを含むシングルトン オブジェクトであり、最も重要なものは QWebEnginePage と QWebEngineUrlRequestInterceptor です。QWebEnginePage は Web ページの管理を担当し、QWebEngineUrlRequestInterceptor は URL リクエストをインターセプトして変更することを担当します。

アーキテクチャ図を実現します。

+----------------+              +------------------------+
|                |              |                        |
| QWebEnginePage |<-------------| QWebEngineSettings     |
|                |              |                        |
+----------------+              +------------------------+
         |                                    |
         |                                    |
         |                                    |
         |                                    |
         |                                    |
+--------v-----------------------------+  +---v----------------------------+
| QWebEngineUrlRequestInterceptor       |  |                                |
|                                        |  |         Chromium API          |
| QWebEngineUrlRequestInterceptor       |  |                                |
+----------------------------------------+  +--------------------------------+

QWebEngineSettings は、Web ページを管理するための複数の QWebEnginePage オブジェクトを含むシングルトン オブジェクトです。内部では、QWebEngineSettings は Chromium API を使用して Web ページのプロパティを設定します。

原理の詳細な動作説明:

Qt で QWebEngineSettings を使用するのは非常に簡単です。QWebEngineView クラスを使用して Web ページを作成し、QWebEngineView::page() 関数を使用して QWebEnginePage オブジェクトを取得できます。次に、QWebEnginePage::settings() 関数を使用して QWebEngineSettings オブジェクトを取得し、それを使用して Web ページのプロパティを設定します。たとえば、次のコードは、Web ページのフォント サイズを設定する方法を示しています。

QWebEngineView view;
view.show();

QWebEngineSettings* settings = view.page()->settings();
settings->setFontFamily(QWebEngineSettings::StandardFont, "Arial");
settings->setFontSize(QWebEngineSettings::DefaultFontSize, 16);

上記のコードでは、まず QWebEngineView オブジェクトを作成し、show() 関数を使用してそれを表示します。次に、QWebEngineView::page() 関数を使用して QWebEnginePage オブジェクトを取得し、QWebEnginePage::settings() 関数を使用して QWebEngineSettings オブジェクトを取得します。最後に、setFontFamily() 関数を使用して Web ページの標準フォントを Arial に設定し、setFontSize() 関数を使用して Web ページのフォント サイズを 16 ピクセルに設定します。

クラス内で関数を使用する原則:

QWebEngineSettings クラスは、setFontFamily()、setFontSize()、setCachePath() など、Web ページのプロパティを設定するための複数の関数を提供します。これらの関数はさまざまなパラメータを受け入れ、さまざまな Web ページのプロパティを設定するために使用されます。

Qt の QWebEngineSettings クラスは、Qt WebEngine のグローバル設定と構成を提供します。Web エンジンの動作、機能、プロパティを管理するために使用されます。以下はQWebEngineSettingsクラスの機能説明と使用例です。

  1. QWebEngineSettings::setFontSize(QWebEngineSettings::FontSize type, int size)

    この関数は、デフォルトのフォント サイズ、固定フォント サイズなど、特定のフォント サイズ タイプのサイズを設定するために使用されます。

    使用例:

    QWebEngineSettings::setFontSize(QWebEngineSettings::DefaultFontSize, 16);
    QWebEngineSettings::setFontSize(QWebEngineSettings::FixedFontSize, 12);
    
    
  2. QWebEngineSettings::setHttpUserAgent(const QString &userAgent)

    この関数は、HTTP リクエストのユーザー エージェント文字列を設定するために使用されます。

    使用例:

    QWebEngineSettings::setHttpUserAgent("MyCustomUserAgent");
    
    
  3. QWebEngineSettings::resetAttribute(QWebEngineSettings::WebAttribute attribute)

    この関数は、特定の Web プロパティをデフォルト値にリセットするために使用されます。

    使用例:

    QWebEngineSettings::resetAttribute(QWebEngineSettings::JavascriptEnabled);
    
    

        QWebEngineSettingsクラスの機能と使用例はほんの一部です。これらの関数を呼び出すことで、必要に応じて Qt WebEngine のさまざまな設定を構成および管理できます。より詳細な関数リストと説明については、Qt 公式ドキュメントを参照してください。

簡単な実装例を次に示します。

#include <QtWidgets/QApplication>
#include <QtWebEngineWidgets/QWebEngineView>
#include <QtWebEngineWidgets/QWebEngineSettings>

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);

    QWebEngineView view;
    view.show();

    QWebEngineSettings* settings = view.page()->settings();
    settings->setAttribute(QWebEngineSettings::DeveloperExtrasEnabled, true);
    settings->setFontFamily(QWebEngineSettings::StandardFont, "Arial");
    settings->setFontSize(QWebEngineSettings::DefaultFontSize, 16);

    view.load(QUrl("http://www.example.com"));

    return app.exec();
}

上記のコードでは、まず QWebEngineView オブジェクトを作成し、show() 関数を使用してそれを表示します。次に、QWebEnginePage::settings() 関数を使用して QWebEngineSettings オブジェクトを取得し、それを使用して Web ページのプロパティ (開発者ツールの有効化、フォントとフォント サイズの設定など) を設定します。最後に、load() 関数を使用して Web ページを読み込みます。

おすすめ

転載: blog.csdn.net/feng1790291543/article/details/131805204
おすすめ