QT开发中文网

设置移动鼠标 图标

在 Qt 中设置鼠标光标图标,可以使用 QCursor 类以及 setCursor() 函数。下面是一个示例,展示如何在窗口中更改鼠标光标的图标。

示例代码

#include <QApplication>
#include <QWidget>
#include <QCursor>
#include <QMouseEvent>

class MyWidget : public QWidget {
public:
    MyWidget() {
        setFixedSize(400, 300); // 设置窗口大小
        setCursor(QCursor(Qt::PointingHandCursor)); // 设置初始光标为手指形状
    }

protected:
    void enterEvent(QEvent *event) override {
        // 当鼠标进入窗口时,将光标设置为十字箭头
        setCursor(QCursor(Qt::CrossCursor));
        QWidget::enterEvent(event);
    }

    void leaveEvent(QEvent *event) override {
        // 当鼠标离开窗口时,恢复默认光标
        unsetCursor();
        QWidget::leaveEvent(event);
    }
};

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    MyWidget w;
    w.show();

    return app.exec();
}

说明

  1. MyWidget: 创建了一个自定义的窗口类,继承自 QWidget
  2. 构造函数: 在构造函数中,使用 setCursor() 方法将初始光标设置为手指形状 (Qt::PointingHandCursor)。
  3. enterEvent() 函数: 当鼠标进入窗口时,将光标更改为十字箭头 (Qt::CrossCursor)。
  4. leaveEvent() 函数: 当鼠标离开窗口时,调用 unsetCursor() 恢复默认光标。

编译和运行

你可以将上述代码放入一个新的 Qt 项目中,然后编译并运行。在应用程序窗口中移动鼠标会看到不同的光标样式。

希望这个例子能帮到你!如果有其他问题,请随时询问。


内容由零声教学AI助手提供,问题来源于学员提问

目录导航
  • 示例代码
  • 说明
  • 编译和运行
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=12991

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?