QBackingStore Class
QBackingStore クラスは、QWindow 用の描画領域を提供します。詳細...
| ヘッダー: | #include <QBackingStore> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
パブリック関数
| QBackingStore(QWindow *window) | |
| ~QBackingStore() | |
| void | beginPaint(const QRegion ®ion) |
| void | endPaint() |
| void | flush(const QRegion ®ion, QWindow *window = nullptr, const QPoint &offset = QPoint()) |
| QPlatformBackingStore * | handle() const |
| bool | hasStaticContents() const |
| QPaintDevice * | paintDevice() |
| void | resize(const QSize &size) |
| bool | scroll(const QRegion &area, int dx, int dy) |
| void | setStaticContents(const QRegion ®ion) |
| QSize | size() const |
| QRegion | staticContents() const |
| QWindow * | window() const |
詳細な説明
QBackingStore を使用すると、QPainter を通じて、型が RasterSurface であるQWindow 上に描画を行うことができます。QWindow へのレンダリングを行うもう 1 つの方法は、QOpenGLContext を使用した OpenGL によるものです。
QBackStoreはウィンドウの内容をバッファに格納した表現を含むため、QPainter を使用してウィンドウ内容の一部領域のみを更新することで、部分的な更新をサポートします。
QBackingStoreは、OpenGLアクセラレーションを使用せず、またQWidget やQGraphicsView といったUIスタックを使用することによる余分なオーバーヘッドを避けつつ、QPainter を利用したいアプリケーションで使用されることがあります。QBackingStoreの使用例については、「Raster Window Example」を参照してください。
メンバ関数のドキュメント
[explicit] QBackingStore::QBackingStore(QWindow *window)
指定されたトップレベルのwindow に対して、空のサーフェスを構築します。
[noexcept] QBackingStore::~QBackingStore()
この表面を破壊します。
void QBackingStore::beginPaint(const QRegion ®ion)
指定されたregion 内のバッキングストアの表面への描画を開始します。
paintDevice() を使用して描画を行う前に、この関数を呼び出す必要があります。
endPaint() およびpaintDevice()も参照してください 。
void QBackingStore::endPaint()
描画を終了します。
paintDevice() による描画が終了した後、この関数を呼び出す必要があります。
beginPaint() およびpaintDevice()も参照してください 。
void QBackingStore::flush(const QRegion ®ion, QWindow *window = nullptr, const QPoint &offset = QPoint())
指定されたwindow から、指定されたregion を画面に表示します。
window は、このバッキングストアによって表される最上位ウィンドウ、またはそのウィンドウの非一時的な子ウィンドウのいずれかでなければなりません。nullptr を渡した場合、バッキングストアの最上位ウィンドウが使用されます。
window が子ウィンドウの場合、region は子ウィンドウの座標系で指定され、offset はバッキングストアの最上位ウィンドウに対する子ウィンドウのオフセットでなければなりません。
この関数は、endPaint() による描画終了後に呼び出す必要があります。
QPlatformBackingStore *QBackingStore::handle() const
QPlatformBackingStore の実装へのポインタを返します
bool QBackingStore::hasStaticContents() const
このウィンドウのコンテンツが静的であるかどうかを示すブール値を返します。
QPaintDevice *QBackingStore::paintDevice()
このサーフェスのペイントデバイスを返します。
警告: このデバイスは 、beginPaint() およびendPaint() の呼び出しの間のみ有効です。返された値をキャッシュしないでください。
void QBackingStore::resize(const QSize &size)
ウィンドウ表面のサイズをsize に設定します。
size()も参照してください 。
bool QBackingStore::scroll(const QRegion &area, int dx, int dy)
指定されたarea をdx ピクセル右へ、dy ピクセル下へスクロールします。dx とdy はどちらも負の値をとることができます。
スクロールが正常に完了した場合はtrue を返し、そうでない場合は false を返します。
void QBackingStore::setStaticContents(const QRegion ®ion)
region をこのウィンドウの静的コンテンツとして設定します。
staticContents()も参照してください 。
QSize QBackingStore::size() const
ウィンドウ表面の現在のサイズを返します。
QRegion QBackingStore::staticContents() const
静的なコンテンツを含むウィンドウの領域を表すQRegion を返します。
setStaticContents()も参照してください 。
QWindow *QBackingStore::window() const
このサーフェスに関連付けられた最上位ウィンドウへのポインタを返します。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.