QCursor Class

QCursorクラスは、任意の形状のマウスカーソルを提供します。詳細...

Header: #include <QCursor>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

パブリック関数

QCursor()
QCursor(Qt::CursorShape shape)
QCursor(const QPixmap &pixmap, int hotX = -1, int hotY = -1)
QCursor(const QBitmap &bitmap, const QBitmap &mask, int hotX = -1, int hotY = -1)
QCursor(const QCursor &c)
QCursor(QCursor &&other)
~QCursor()
QBitmap bitmap() const
QPoint hotSpot() const
QBitmap mask() const
QPixmap pixmap() const
void setShape(Qt::CursorShape shape)
Qt::CursorShape shape() const
void swap(QCursor &other)
QVariant operator QVariant() const
QCursor &operator=(QCursor &&other)
QCursor &operator=(const QCursor &c)

静的パブリック・メンバー

QPoint pos()
QPoint pos(const QScreen *screen)
void setPos(int x, int y)
void setPos(QScreen *screen, int x, int y)
void setPos(const QPoint &p)
void setPos(QScreen *screen, const QPoint &p)
bool operator!=(const QCursor &lhs, const QCursor &rhs)
QDataStream &operator<<(QDataStream &stream, const QCursor &cursor)
bool operator==(const QCursor &lhs, const QCursor &rhs)
QDataStream &operator>>(QDataStream &stream, QCursor &cursor)

詳細な説明

このクラスは主に、特定のウィジェットに関連付けられたマウスカーソルを作成したり、マウスカーソルの位置を取得したり設定したりするために使用されます。

Qt にはいくつかの標準的なカーソル形状がありますが、QBitmap 、マスク、ホットスポットに基づいたカスタムカーソル形状を作成することもできます。

カーソルをウィジェットに関連付けるには、QWidget::setCursor() を使用します。すべてのウィジェットにカーソルを関連付けるには、QGuiApplication::setOverrideCursor()を使用します。

カーソルの形状を設定するには、QCursor::setShape()を使用するか、形状を引数に取るQCursorコンストラクタを使用します。また、Qt::CursorShape enumで定義された定義済みカーソルのいずれかを使用することもできます。

独自のビットマップでカーソルを作成したい場合は、ビットマップとマスクを引数に取るQCursorコンストラクタか、pixmapを引数に取るコンストラクタを使用してください。

マウス・カーソルの位置を設定または取得するには、スタティック・メソッドQCursor::pos() およびQCursor::setPos() を使用します。

注: QGuiApplication の前に QCursor を作成することは可能ですが、QGuiApplication の後に作成される実際の QCursor のプレースホルダとして以外は役に立ちません。QGuiApplication より前に作成された QCursor を使用しようとするとクラッシュします。

X11 ユーザーへの注意

X11 では、Qt はフルカラーのアイコンテーマを使用できるXcursorライブラリをサポートしています。以下の表は、Qt::CursorShape の値ごとに使用されるカーソル名を示しています。もしカーソルが以下の名前を使って見つからない場合、代わりに標準のX11カーソルが使われます。注意: X11は、Qt::CursorShape のすべての値に対して適切なカーソルを提供しているわけではありません。いくつかのカーソルはXcursorテーマから取得され、他のカーソルは内部ビットマップカーソルを使用する可能性があります。

形状Qt::CursorShapeカーソル名形状Qt::CursorShape カーソル名カーソル名
Qt::ArrowCursorleft_ptrQt::SizeVerCursorsize_ver
Qt::UpArrowCursorup_arrowQt::SizeHorCursorsize_hor
Qt::CrossCursorcrossQt::SizeBDiagCursorsize_bdiag
Qt::IBeamCursoribeamQt::SizeFDiagCursorsize_fdiag
Qt::WaitCursorwaitQt::SizeAllCursorsize_all
Qt::BusyCursorleft_ptr_watchQt::SplitVCursorsplit_v
Qt::ForbiddenCursorforbiddenQt::SplitHCursorsplit_h
Qt::PointingHandCursorpointing_handQt::OpenHandCursoropenhand
Qt::WhatsThisCursorwhats_thisQt::ClosedHandCursorclosedhand
Qt::DragMoveCursordnd-move またはmoveQt::DragCopyCursordnd-copy またはcopy
Qt::DragLinkCursordnd-link またはlink

QWidgetも参照

メンバ関数ドキュメント

QCursor::QCursor()

デフォルトの矢印形状でカーソルを構築する。

QCursor::QCursor(Qt::CursorShape shape)

指定されたshape でカーソルを構築する。

形状のリストはQt::CursorShape を参照。

setShape()も参照

[explicit] QCursor::QCursor(const QPixmap &pixmap, int hotX = -1, int hotY = -1)

カスタムピクスマップカーソルを構築します。

pixmap は画像です。マスク( ()を使用して設定)を与えるのが普通である。 と は、カーソルのホットスポットを定義する。QPixmap::setMask hotX hotY

hotX が負の場合、それはpixmap().width()/2 に設定される。hotY が負の場合、それはpixmap().height()/2 に設定される。

有効なカーソルサイズは、ディスプレイのハードウェア(または基本的なウィンドウシステム)に依存します。このサイズはすべてのプラットフォームでサポートされているので、32 x 32カーソルを使用することを推奨する。いくつかのプラットフォームでは、16 x 16、48 x 48、64 x 64カーソルもサポートしています。

QPixmap::QPixmap() およびQPixmap::setMask()も参照のこと

QCursor::QCursor(const QBitmap &bitmap, const QBitmap &mask, int hotX = -1, int hotY = -1)

カスタムビットマップカーソルを構築する。

bitmap mask hotX と はカーソルのホットスポットを定義します。hotY

hotX が負の場合、それはbitmap().width()/2 に設定されます。hotY が負の場合、それはbitmap().height()/2 に設定されます。

カーソルのbitmap (B) とmask (M)ビットはこのように組み合わされる:

  • B=1、M=1で黒。
  • B=0、M=1で白。
  • B=0、M=0 で透明。
  • B=1 と M=0 は、Windows では XOR された結果となり、その他のプラットフォームでは未定義の結果となります。

ビットマップに0ピクセルを描画するにはQtのグローバルカラーQt::color0 、1ピクセルを描画するにはQt::color1

有効なカーソルのサイズは、ディスプレイのハードウェア(または基本的なウィンドウシステム)に依存します。このサイズはすべてのプラットフォームでサポートされているため、32 x 32カーソルを使用することをお勧めします。いくつかのプラットフォームでは、16 x 16、48 x 48、64 x 64カーソルもサポートしています。

QBitmap::QBitmap() およびQBitmap::setMask()も参照のこと

QCursor::QCursor(const QCursor &c)

カーソルのコピーc を構築する。

[noexcept] QCursor::QCursor(QCursor &&other)

移動-カーソルをother から構築する。移動された後、other に対する有効な操作は、破棄と(移動とコピーの)割り当てのみである。移動元のインスタンスに対して他のメンバ関数を呼び出した場合の効果は未定義です。

[noexcept] QCursor::~QCursor()

カーソルを破棄します。

QBitmap QCursor::bitmap() const

カーソルのビットマップ、または標準カーソルの場合はNULLビットマップを返します。

QPoint QCursor::hotSpot() const

カーソルホットスポット、または標準カーソルの場合は(0, 0)を返します。

QBitmap QCursor::mask() const

カーソルビットマップマスク、または標準カーソルの場合はNULLビットマップを返します。

QPixmap QCursor::pixmap() const

カーソルピックスマップを返します。これはカーソルがpixmapカーソルの場合のみ有効である。

[static] QPoint QCursor::pos()

プライマリ画面のカーソル(ホットスポット)の位置をグローバルスクリーン座標で返す。

ウィジェット座標に変換するには、QWidget::mapFromGlobal ()を呼び出します。

注意: 位置はウィンドウシステムから取得されます。他の手段(例えば、ユニットテスト内のQWindowSystemInterface)でマウスイベントが生成された場合、それらの偽のマウス移動は戻り値に反映されません。

注意: ウィンドウ・システムがないプラットフォームやカーソルが利用できないプラットフォームでは、返される位置はQWindowSystemInterfaceを介して生成されたマウス移動イベントに基づいています。

setPos(),QWidget::mapFromGlobal(),QWidget::mapToGlobal(),QGuiApplication::primaryScreen()も参照してください

[static] QPoint QCursor::pos(const QScreen *screen)

screen のカーソル(ホットスポット)の位置をグローバル画面座標で返します。

ウィジェット座標に変換するには、QWidget::mapFromGlobal() を呼び出します。

setPos()、QWidget::mapFromGlobal()、QWidget::mapToGlobal()も参照

[static] void QCursor::setPos(int x, int y)

プライマリ・スクリーンのカーソル(ホット・スポット)をグローバル・スクリーン位置 (x,y) に移動する。

QWidget::mapToGlobal() を呼び出すと、ウィジェットの座標をグローバル・スクリーン座標に変換できます。

pos()、QWidget::mapFromGlobal()、QWidget::mapToGlobal()、QGuiApplication::primaryScreen()も参照の こと。

[static] void QCursor::setPos(QScreen *screen, int x, int y)

screen のカーソル(ホット・スポット)をグローバル・スクリーン位置 (x,y) に移動する。

QWidget::mapToGlobal() を呼び出すと、ウィジェットの座標をグローバル・スクリーン座標に変換できます。

注意: この関数を呼び出すと、ウィンドウ・システムを通じてカーソル位置が変更されます。ウィンドウ・システムは通常、マウス・イベントをアプリケーションのウィンドウに送信することで応答します。これは、ユニットテストや、QWindowSystemInterfaceを介して偽のマウスイベントが注入されるあらゆる場所で、この関数の使用を避ける必要があることを意味します。

注意: ウィンドウシステムがないプラットフォームやカーソルが利用できないプラットフォームでは、この関数は何もしないかもしれません。

pos ()、QWidget::mapFromGlobal ()、QWidget::mapToGlobal)も参照

[static] void QCursor::setPos(const QPoint &p)

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

カーソル(ホットスポット)をp 点のグローバル画面位置に移動する。

[static] void QCursor::setPos(QScreen *screen, const QPoint &p)

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

カーソル(ホットスポット)を、screen のグローバルスクリーン位置p に移動する。

void QCursor::setShape(Qt::CursorShape shape)

カーソルをshape で特定される形状に設定します。

カーソル形状のリストについてはQt::CursorShape を参照のこと。

shape()も参照のこと

Qt::CursorShape QCursor::shape() const

カーソル形状の識別子を返す。

setShape() も参照

[noexcept] void QCursor::swap(QCursor &other)

このカーソルをother カーソルと入れ替えます。

QVariant QCursor::operator QVariant() const

カーソルをQVariant として返す。

[noexcept] QCursor &QCursor::operator=(QCursor &&other)

Move- このQCursor インスタンスにother を割り当てます。

QCursor &QCursor::operator=(const QCursor &c)

c をこのカーソルに割り当て、このカーソルへの参照を返します。

関連する非メンバー

[noexcept] bool operator!=(const QCursor &lhs, const QCursor &rhs)

不等式演算子。!(lhs ==rhs) と同等の値を返します。

operator==(const QCursor &lhs, const QCursor &rhs)も参照してください

QDataStream &operator<<(QDataStream &stream, const QCursor &cursor)

cursorstream に書き込みます。

Qt データ型のシリアライズ」も参照してください

[noexcept] bool operator==(const QCursor &lhs, const QCursor &rhs)

Equality 演算子。lhsrhs が同じshape() で、bitmap cursors の場合は同じhotSpot() で、pixmap() またはbitmap() とmask() が同じであればtrue を返します。

注意: ビットマップカーソルを比較する場合、この関数は各ピクセルではなく、ビットマップのcache keys だけを比較します。

operator!=(const QCursor &lhs, const QCursor &rhs)も参照してください

QDataStream &operator>>(QDataStream &stream, QCursor &cursor)

stream からcursor を読み込みます。

Qt データ型のシリアライズも参照してください

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