QStylePainter Class

QStylePainter クラスは、ウィジェット内のQStyle 要素を描画するための便利なクラスです。詳細...

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

パブリック関数

QStylePainter()
QStylePainter(QWidget *widget)
QStylePainter(QPaintDevice *pd, QWidget *widget)
bool begin(QWidget *widget)
bool begin(QPaintDevice *pd, QWidget *widget)
void drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &option)
void drawControl(QStyle::ControlElement ce, const QStyleOption &option)
void drawItemPixmap(const QRect &rect, int flags, const QPixmap &pixmap)
void drawItemText(const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole)
void drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &option)
QStyle *style() const

詳細説明

QStylePainter はQStyle の API の上に実装された高レベルのdraw...() 関数のセットでQPainter を拡張します。QStylePainterを使う利点は、パラメータリストがかなり短くなることです。通常、アプリケーションはすべてのウィジェットで共有される1つのQStyle オブジェクトを持つため)QStyle オブジェクトは、どのペインターを使用してもどのウィジェットにも描画できなければなりませんが、QStylePainter はウィジェットで初期化されるため、関数を呼び出すたびにQWidgetQPainterQStyle を指定する必要がありません。

QStyle を直接使用した例:

void MyWidget::paintEvent(QPaintEvent * /* event */)
{
    QPainter painter(this);

    QStyleOptionFocusRect option;
    option.initFrom(this);
    option.backgroundColor = palette().color(QPalette::Background);

    style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);
}

QStylePainterを使用した例:

void MyWidget::paintEvent(QPaintEvent * /* event */)
{
    QStylePainter painter(this);

    QStyleOptionFocusRect option;
    option.initFrom(this);
    option.backgroundColor = palette().color(QPalette::Background);

    painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);
}

QStyle およびQStyleOptionも参照してください

メンバ関数ドキュメント

QStylePainter::QStylePainter()

QStylePainterを構築します。

[explicit] QStylePainter::QStylePainter(QWidget *widget)

ペイントデバイスにウィジェットwidget を使用して QStylePainter を構築します。

QStylePainter::QStylePainter(QPaintDevice *pd, QWidget *widget)

ペイント・デバイスにpd を使用し、widget の属性を使用して QStylePainter を構築します。

bool QStylePainter::begin(QWidget *widget)

指定されたwidget に対してペイント操作を開始します。ペインターが使用可能な状態であればtrue を返し、そうでなければfalse を返します。

これはQWidget を受け取るコンストラクタによって自動的に呼び出されます。

bool QStylePainter::begin(QPaintDevice *pd, QWidget *widget)

これはオーバーロードされた関数です。

ペイントデバイスpdwidget であるかのようにペイント操作を開始します。

これは、QPaintDeviceQWidget を受け取るコンストラクタによって自動的に呼び出されます。

void QStylePainter::drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &option)

ウィジェットのスタイルを使用して、QStyleOptionComplex option で指定された複合コントロールcc を描画します。

QStyle::drawComplexControl()も参照してください

void QStylePainter::drawControl(QStyle::ControlElement ce, const QStyleOption &option)

QStyleOption option で指定された制御要素ce を描画するには、ウィジェットのスタイルを使用します。

QStyle::drawControl() も参照して ください。

void QStylePainter::drawItemPixmap(const QRect &rect, int flags, const QPixmap &pixmap)

pixmap を矩形rect に描画します。pixmap はflags に従って整列されます。

QStyle::drawItemPixmap() およびQt::Alignmentも参照

void QStylePainter::drawItemText(const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole)

text を矩形rect およびパレットpal に描画します。テ キ ス ト はflags に従っ て整列 さ れ、折 り 返 さ れます。

ペンの色はtextRole で指定し ます。enabled bool は、アイテムが有効かどうかを示します。再実装する場合は、この bool がアイテムの描画方法に影響するはずです。

QStyle::drawItemText() およびQt::Alignmentも参照してください

void QStylePainter::drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &option)

ウィジェットのスタイルを使用して、QStyleOption option で指定されたプリミティブ要素pe を描画します。

QStyle::drawPrimitive()も参照して ください。

QStyle *QStylePainter::style() const

QStylePainter で使用されている現在のスタイルを返します。

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