1. 介绍

在这里插入图片描述
上图为Qt的官方文档,我们提取其中内容进行总结:

  • 这个属性定义了小部件的光标形状。当鼠标悬停在该小部件上时,光标将采用此形状。预定义的光标对象列表提供了一系列有用的形状。

该属性有下面四种接口

API 说明
QCursor cursor() const 获取小部件的当前光标对象。如果未设置光标,则返回父窗口的光标对象或默认的箭头光标对象
void setCursor(const QCursor &) 设置小部件的当前光标对象为给定的光标对象
void unsetCursor() 清除小部件的当前光标对象并恢复父窗口的光标对象或默认的箭头光标对象
QGuiApplication::setOverrideCursor() 设置一个全局的光标对象,该光标对象会覆盖所有小部件和窗口的当前光标对象,即使鼠标移动到窗口外部,该光标对象仍然有效

2. 使用实例

设置窗口光标

  1. 我们首先添加资源文件,并添加图片。

在这里插入图片描述

  1. 随后根据下面的代码,进行光标的设置
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 获取图片文件
    QPixmap pixmap("://cursor1.png");
    pixmap = pixmap.scaled(50, 50); // 设置图片(光标)大小
    // 构造光标对象
    QCursor cursor(pixmap, 10, 10);
    // 设置光标
    this->setCursor(cursor);
}

效果展示:
在这里插入图片描述


全局光标

如果我们加上一句: qApp->setOverrideCursor(cursor);

在这里插入图片描述
此时,光标就会变为全局的:

在这里插入图片描述

3. 代码 / 文件资源

上面涉及到的的代码等文件资源在👇

QWidget的cursor属性

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐