【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() 的次数,将不会产生错误,但光标不会再被进一步恢复。
相关推荐
SunkingYang6 小时前
QT编译报错:使用Lambda表达式作为槽函数,报错‘xxx‘ in capture list does not name a variable
qt·list·报错·lambda表达式·槽函数·in capture list·does not name
你怎么知道我是队长6 小时前
C语言---头文件
c语言·开发语言
期待のcode6 小时前
Java虚拟机的运行模式
java·开发语言·jvm
hqwest6 小时前
码上通QT实战25--报警页面01-报警布局设计
开发语言·qt·qwidget·ui设计·qt布局控件
a程序小傲6 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
HellowAmy6 小时前
我的C++规范 - 玩一个小游戏
开发语言·c++·代码规范
徐先生 @_@|||7 小时前
Palantir Foundry 五层架构模型详解
开发语言·python·深度学习·算法·机器学习·架构
SunkingYang8 小时前
QT中如何遍历QStringList
qt·解析·遍历·方式·读取·qstringlist
tang777898 小时前
爬虫如何绕过绕过“5秒盾”Cloudflare:从浏览器指纹模拟到Rust求解之不完全指南
开发语言·爬虫·rust·cloudflare
Yuer20258 小时前
什么是 Rust 语境下的“量化算子”——一个工程对象的最小定义
开发语言·后端·rust·edca os·可控ai