当前位置: 首页 > article >正文

qt 设置鼠标样式的几种方法

在 Qt 中,设置鼠标样式可以通过以下几种方式实现:

1. 使用内置鼠标样式

Qt 提供了一系列内置的鼠标样式,可以通过 setCursor() 函数设置。例如:

cpp复制

button->setCursor(Qt::PointingHandCursor);  // 设置为手型光标[^1^][^2^]。

其他常用的内置样式包括:

  • Qt::ArrowCursor:普通箭头光标。

  • Qt::WaitCursor:等待光标。

  • Qt::CrossCursor:十字光标。

  • Qt::ForbiddenCursor:禁止光标。

2. 设置全局鼠标样式

如果需要设置全局鼠标样式,可以使用 QApplication::setOverrideCursor()

cpp复制

QApplication::setOverrideCursor(Qt::WaitCursor);  // 设置全局等待光标[^3^]。

恢复默认样式时,可以调用:

cpp复制

QApplication::restoreOverrideCursor();[^3^]

3. 使用自定义图片作为鼠标样式

可以通过 QCursorQPixmap 类设置自定义鼠标样式。首先,将图片资源添加到 .qrc 文件中,然后在代码中加载并设置:

cpp复制

QPixmap pixmap(":/my_cursor.png");  // 加载自定义图片
QCursor cursor(pixmap, hotX, hotY);  // hotX 和 hotY 是鼠标热点位置
setCursor(cursor);[^3^][^7^]

4. 在特定控件上设置鼠标样式

如果只想在某个控件上设置鼠标样式,可以直接对该控件调用 setCursor()

cpp复制

QPushButton *button = new QPushButton("按钮");
QPixmap pixmap(":/my_cursor.png");
QCursor cursor(pixmap);
button->setCursor(cursor);[^7^]

5. 使用 QSS 设置鼠标样式

对于一些复杂的控件(如滚动条),可以通过 QSS 设置鼠标悬停时的样式:

css复制

QScrollBar::handle:hover {
    cursor: Qt::SizeHorCursor;  // 鼠标悬停时变成水平调整光标[^6^]。
}

通过以上方法,可以在 Qt 应用程序中灵活地设置鼠标样式。


http://www.kler.cn/a/517225.html

相关文章:

  • 软件测试 —— jmeter(2)
  • NCCL的多种通信拓扑
  • 数据分析 six库
  • 使用KNN实现对鸢尾花数据集或者自定义数据集的的预测
  • C++----STL(list)
  • 【2024年华为OD机试】(A卷,200分)- 优雅子数组 (JavaScriptJava PythonC/C++)
  • ceph新增节点,OSD设备,标签管理(二)
  • 付费会员制与开源AI智能名片S2B2C商城小程序在现代营销中的应用
  • 八股学习 微服务篇
  • 【Ubuntu】使用远程桌面协议(RDP)在Windows上远程连接Ubuntu
  • AI Agent的记忆系统实现:从短期对话到长期知识
  • React Native 0.77发布,新样式特性,Android 16KB页面支持,Swift模板
  • Vue 使用moment格式化时间
  • Meta的AIGC视频生成模型——Emu Video
  • 联想电脑怎么设置u盘启动_联想电脑设置u盘启动方法(支持新旧机型)
  • ansible自动化运维实战--script、unarchive和shell模块(6)
  • LeetCode 热题 100_实现 Trie (前缀树)(54_208_中等_C++)(图;前缀树;字典树)
  • C++ 静态变量static的使用方法
  • 用JAVA写算法之输入输出篇
  • Spring Boot 集成 Redis 全解析
  • 【Pytest】结构介绍
  • BGP(3)路径属性
  • 如何解压7z文件?8种方法(Win/Mac/手机/网页端)
  • OpenCV相机标定与3D重建(62)根据两个投影矩阵和对应的图像点来计算3D空间中点的坐标函数triangulatePoints()的使用
  • 阿里巴巴开发规范手册MySQL工程结构
  • leetcode 2239. 找到最接近 0 的数字