【Qt】QApplication::restoreOverrideCursor():恢复鼠标光标到原始状态的用法解析

restoreOverrideCursor() 是 Qt 中 QApplication 类提供的一个静态函数,用来恢复鼠标光标到应用程序之前设置的状态。

在 Qt 中,你可以使用 QApplication::setOverrideCursor() 来临时更改鼠标光标的外观。例如,当执行一些耗时操作时,你可能想将鼠标光标更改为一个等待图标(比如沙漏或旋转的圆圈),以提示用户程序正在处理。

在调用 setOverrideCursor() 之后,光标将会一直保持在指定状态,直到调用 restoreOverrideCursor()。这个函数的调用会恢复光标到调用 setOverrideCursor() 之前的状态。例如:

cpp 复制代码
#include <QApplication>
#include <QCursor>
#include <QThread>

// 假设在某个函数中
void longOperation() {
    // 设置鼠标光标为等待状态
    QApplication::setOverrideCursor(Qt::WaitCursor);
    
    // 模拟一个耗时操作
    QThread::sleep(3);

    // 恢复鼠标光标
    QApplication::restoreOverrideCursor();
}

注意

  • restoreOverrideCursor() 只会移除最近的覆盖光标,如果你在多次调用 setOverrideCursor() 之后调用 restoreOverrideCursor(),Qt 会逐一恢复到之前的光标。
  • 如果连续多次调用 restoreOverrideCursor() 超过 setOverrideCursor() 的次数,将不会产生错误,但光标不会再被进一步恢复。
相关推荐
不甘先生13 小时前
Go 四层架构实战:Handler + Service + Repository + Entity(清晰、可控、可演进)
开发语言·架构·golang
Yang-Never13 小时前
Git -> Git Worktree 工作树
android·开发语言·git·android studio
riNt PTIP13 小时前
GO 快速升级Go版本
开发语言·redis·golang
xingpanvip13 小时前
星盘接口开发文档:日运语料接口指南
android·开发语言·前端·css·php·lua
AI进化营-智能译站14 小时前
ROS2 C++开发系列01:在ROS2上编写第一个C++ hello word
开发语言·c++·ai·word
我才是一卓14 小时前
2026 Python 入门教程,结合 vscode 和 miniforge/miniconda
开发语言·vscode·python
代码中介商14 小时前
Linux多线程编程完全指南(续):条件变量、读写锁与线程安全函数
linux·开发语言
其实防守也摸鱼14 小时前
CTF密码学综合教学指南--第二章
开发语言·网络·python·安全·网络安全·密码学·ctf
jimy114 小时前
C 语言的 static 关键字作用
c语言·开发语言·算法
枫叶丹414 小时前
【HarmonyOS 6.0】Camera Kit白平衡API深度解析:让三方应用真正“掌控”色彩
开发语言·华为·harmonyos·视频编解码