PySide6.QtGui.QCursor¶
- class QCursor¶
-
概要¶
方法¶
def
__init__()def
bitmap()def
hotSpot()def
mask()def
__ne__()def
pixmap()def
setShape()def
shape()def
swap()
静态函数¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
这个类主要用于创建与特定小部件相关联的鼠标光标,并获取和设置鼠标光标的位置。
Qt 有许多标准的光标形状,但你也可以基于
QBitmap、掩码和热点创建自定义的光标形状。要将光标与一个小部件关联,请使用QWidget::setCursor()。要将光标与所有小部件关联(通常是在短时间内),请使用
setOverrideCursor()。要设置光标形状,请使用
setShape()或使用QCursor构造函数,该函数将形状作为参数,或者您可以使用Qt::CursorShape枚举中定义的预定义光标之一。如果你想用自己的位图创建光标,可以使用
QCursor构造函数,该函数接受位图和掩码作为参数,或者使用接受像素图作为参数的构造函数。要设置或获取鼠标光标的位置,请使用静态方法
pos()和setPos()。注意
可以在
QGuiApplication之前创建一个QCursor,但它除了作为在QGuiApplication之后创建的真实QCursor的占位符外,没有其他用处。尝试使用在QGuiApplication之前创建的QCursor将导致崩溃。给X11用户的注意事项¶
在X11上,Qt支持Xcursor库,该库允许使用全彩色图标主题。下表显示了用于每个Qt::CursorShape值的游标名称。如果无法使用下面显示的名称找到游标,则将使用标准的X11游标。注意:X11并未为所有可能的Qt::CursorShape值提供适当的游标。可能会出现一些游标来自Xcursor主题,而其他游标则使用内部位图游标的情况。
形状
Qt::CursorShape 值
光标名称
形状
Qt::CursorShape 值
光标名称

Qt::ArrowCursor
left_ptr
Qt::SizeVerCursor
size_ver
Qt::UpArrowCursor
up_arrow
Qt::SizeHorCursor
size_hor
Qt::CrossCursor
cross
Qt::SizeBDiagCursor
size_bdiag
Qt::IBeamCursor
ibeam
Qt::SizeFDiagCursor
size_fdiag
Qt::WaitCursor
wait
Qt::SizeAllCursor
size_all
Qt::BusyCursor
left_ptr_watch
Qt::SplitVCursor
split_v
Qt::ForbiddenCursor
forbidden
Qt::SplitHCursor
split_h
Qt::PointingHandCursor
pointing_hand
Qt::OpenHandCursor
openhand
Qt::WhatsThisCursor
whats_this
Qt::ClosedHandCursor
closedhandQt::DragMoveCursor
dnd-move或moveQt::DragCopyCursor
dnd-copy或copyQt::DragLinkCursor
dnd-link或link另请参阅
- __init__()¶
构造一个具有默认箭头形状的光标。
- __init__(shape)
- Parameters:
形状 –
CursorShape
使用指定的
shape构造一个光标。查看 Qt::CursorShape 以获取形状列表。
另请参阅
- __init__(cursor)
- Parameters:
光标 –
QCursor
构造一个游标
c的副本。- __init__(pixmap[, hotX=-1[, hotY=-1]])
- Parameters:
pixmap –
QPixmaphotX – int
hotY – int
构造一个自定义的像素图光标。
pixmap是图像。通常会给它一个遮罩(使用setMask()设置)。hotX和hotY定义了光标的热点。如果
hotX为负数,则将其设置为pixmap().width()/2。如果hotY为负数,则将其设置为pixmap().height()/2。有效的光标大小取决于显示硬件(或底层窗口系统)。我们建议使用32 x 32的光标,因为所有平台都支持这个大小。一些平台还支持16 x 16、48 x 48和64 x 64的光标。
另请参阅
QPixmap()setMask()- __init__(bitmap, mask[, hotX=-1[, 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 下给出异或结果,在其他所有平台上结果未定义。
使用全局Qt颜色Qt::color0来绘制位图中的0像素,使用Qt::color1来绘制1像素。
有效的光标大小取决于显示硬件(或底层窗口系统)。我们建议使用32 x 32的光标,因为所有平台都支持这个大小。一些平台还支持16 x 16、48 x 48和64 x 64的光标。
另请参阅
QBitmap()setMask()返回光标位图,如果它是标准光标之一,则返回空位图。
- bitmap(arg__1)
- Parameters:
arg__1 –
ReturnByValueConstant- Return type:
注意
此函数已弃用。
请使用不带参数的重载方法。
返回光标位图,如果它是标准光标之一,则返回空位图。
以前,Qt 提供了一个返回位图指针的
bitmap()版本。该版本现已被移除。为了保持与旧代码的兼容性,提供了此函数以区分指针函数和值函数。返回光标的热点位置,如果是标准光标之一,则返回 (0, 0)。
返回光标位图掩码,如果是标准光标之一,则返回空位图。
- mask(arg__1)
- Parameters:
arg__1 –
ReturnByValueConstant- Return type:
注意
此函数已弃用。
请使用不带参数的重载方法。
返回光标位图掩码,如果是标准光标之一,则返回空位图。
以前,Qt 提供了一个版本的
mask(),它通过指针返回位图。该版本现已被移除。为了保持与旧代码的兼容性,提供了此函数以区分通过指针的函数和通过值的函数。不等运算符。返回等同于 !(
lhs==rhs) 的结果。另请参阅
operator==(const QCursor &lhs, const QCursor &rhs)返回光标位图。仅当光标是位图光标时,此方法有效。
返回主屏幕光标(热点)在全局屏幕坐标中的位置。
你可以调用 QWidget::mapFromGlobal() 将其转换为小部件坐标。
注意
位置是从窗口系统中查询的。如果鼠标事件是通过其他方式生成的(例如,在单元测试中通过QWindowSystemInterface),这些模拟的鼠标移动将不会反映在返回值中。
返回
screen光标(热点)在全局屏幕坐标中的位置。你可以调用 QWidget::mapFromGlobal() 将其转换为小部件坐标。
另请参阅
setPos()mapToGlobal()这是一个重载函数。
将光标(热点)移动到全局屏幕位置的点
p。这是一个重载函数。
将光标(热点)移动到全局屏幕位置,该位置由
screen在点p处确定。- static setPos(x, y)
- Parameters:
x – 整数
y – 整数
将主屏幕的光标(热点)移动到全局屏幕位置(
x,y)。你可以调用QWidget::mapToGlobal()来将小部件的坐标转换为全局屏幕坐标。
另请参阅
- static setPos(screen, x, y)
- Parameters:
屏幕 –
QScreenx – 整数
y – 整数
将
screen的光标(热点)移动到全局屏幕位置(x,y)。你可以调用 QWidget::mapToGlobal() 将小部件的坐标转换为全局屏幕坐标。
注意
调用此函数会导致通过窗口系统更改光标位置。窗口系统通常会通过向应用程序的窗口发送鼠标事件来响应。这意味着在单元测试中以及通过QWindowSystemInterface注入虚假鼠标事件的任何地方都应避免使用此函数,因为窗口系统的鼠标状态(例如关于按钮的状态)可能与应用程序生成的事件中的状态不匹配。
- setShape(newShape)¶
- Parameters:
newShape –
CursorShape
将光标设置为由
shape标识的形状。请参阅 Qt::CursorShape 获取光标形状的列表。
另请参阅
- shape()¶
- Return type:
返回光标形状标识符。
另请参阅
将此光标与
other光标交换。