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() | |
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 はウィジェットで初期化されるため、関数を呼び出すたびにQWidget 、QPainter 、QStyle を指定する必要がありません。
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)
これはオーバーロードされた関数です。
ペイントデバイスpd がwidget であるかのようにペイント操作を開始します。
これは、QPaintDevice とQWidget を受け取るコンストラクタによって自動的に呼び出されます。
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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。