一、描述
此类主要用于创建与小部件相关联的鼠标光标以及获取和设置鼠标光标的位置。
二、成员函数
1、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 pixmap("D://光标.png");
ui->pushButton->setCursor(QCursor(pixmap));
2、QCursor(const QBitmap &bitmap, const QBitmap &mask, int hotX = -1, int hotY = -1)
光标位图 (B) 和掩码 (M) 位组合如下:
- B=1 和 M=1 给出黑色。
- B=0 和 M=1 给出白色。
- B=0 和 M=0 表示透明。
- B=1 和 M=0 在 Windows 下给出 XOR 的结果,在所有其他平台上给出未定义的结果。
3、QCursor(Qt::CursorShape shape)
构造具有指定形状的光标。
4、[static] QPoint pos()
返回主屏幕光标(热点)在全局屏幕坐标中的位置。
可以调用 QWidget::mapFromGlobal() 将其转换为小部件坐标。
[static] QPoint pos(const QScreen *screen)
返回屏幕光标(热点)在全局屏幕坐标中的位置。
5、[static] void setPos(int x, int y)
将主屏幕的光标(热点)移动到全局屏幕位置(x,y)。
可以调用 QWidget::mapToGlobal() 将小部件坐标转换为全局屏幕坐标。
[static] void setPos(QScreen *screen, int x, int y)
将屏幕的光标(热点)移动到全局屏幕位置 (x, y)。