QStylePlugin Class

QStylePluginクラスは、カスタムQStyle プラグインのための抽象ベースを提供します。詳細...

Header: #include <QStylePlugin>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QObject

パブリック関数

QStylePlugin(QObject *parent = nullptr)
virtual ~QStylePlugin()
virtual QStyle *create(const QString &key) = 0

詳細説明

QStylePlugin は、QStyleFactory クラスを使用してアプリケーションに動的にロードできるカスタムスタイルを簡単に作成できる、シンプルなプラグイン インターフェイスです。

スタイル・プラグインを作成するには、この基本クラスをサブクラス化し、純粋仮想のcreate() 関数を再実装し、Q_PLUGIN_METADATA() マクロを使用してクラスをエクスポートします。

class MyStylePlugin : public QStylePlugin
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "mystyleplugin.json")
public:
    MyStylePlugin(QObject *parent = nullptr);

    QStyle *create(const QString &key) override;
};

プラグインの json メタデータ・ファイルmystyleplugin.json には、プラグインがサポートするスタイルの名前に関する情報を次のように含める必要があります:

{ "Keys": [ "Rocket", "Starbuster" ] }

詳細はQtプラグインの作成方法を参照してください。

QStyleFactoryQStyleも参照して ください。

メンバ関数 ドキュメント

[explicit] QStylePlugin::QStylePlugin(QObject *parent = nullptr)

与えられたparent でスタイル・プラグインを構築します。

このコンストラクタは、プラグインをエクスポートするmoc生成コードによって自動的に呼び出されるので、明示的に呼び出す必要はないことに注意してください。

[virtual noexcept] QStylePlugin::~QStylePlugin()

スタイルプラグインを破棄します。

Qtはプラグインが使用されなくなると自動的に破棄するので、明示的にデストラクタを呼び出す必要はないことに注意してください。

[pure virtual] QStyle *QStylePlugin::create(const QString &key)

与えられたスタイルkeyQStyle オブジェクトを作成して返します。プラグインがスタイルを作成できない場合は、代わりに 0 を返す必要があります。

スタイルのキーは通常、必要なスタイルのクラス名です。キーの大文字と小文字は区別されません。例えば

QStyle *MyStylePlugin::create(const QString &key)
{
    QString lcKey = key.toLower();
    if (lcKey == "rocket") {
        return new RocketStyle;
    } else if (lcKey == "starbuster") {
        return new StarBusterStyle;
    }
    return nullptr;
}

このドキュメントに含まれるコントリビューションの著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。