【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() 的次数,将不会产生错误,但光标不会再被进一步恢复。
相关推荐
曹牧6 分钟前
C#:The operation has timed out
开发语言·c#
你看我名字16 分钟前
数眼智能 Search + Reader 实战:联网问答怎样避免“搜到了,却引用错了”
android·java·开发语言
小嘉丶学长18 分钟前
Day13 · 列表与元组
linux·运维·服务器·开发语言·python
努力努力再努力wz22 分钟前
【Lua入门系列】从 C++ 迭代器到 Lua 迭代器:一文深入理解 Lua 有状态以及无状态迭代器与泛型for、闭包、ipairs、pairs 和 next
开发语言·c++·lua
努力实干30 分钟前
第二阶段 · 第 7 课:C++ 多线程与线程安全
开发语言·c++·安全
半杯咖啡半行码40 分钟前
QML与 Qt Quick入门实战:从零基础到 C++ 双向通信详解
java·qt·交互
爱聊灵光的维C1 小时前
C语言初阶:关于函数设计的详细讲解和注意事项
c语言·开发语言·青少年编程·蓝桥杯·学习方法
熊猫钓鱼>_>1 小时前
上架审核常见驳回与隐私合规清单:过审前先自查这 8 条【鸿蒙心迹】
开发语言·前端·华为·华为云·harmonyos·openharmony·ai制作
SEO_juper1 小时前
Bash 交叉验证 robots.txt 和 sitemap:两个文件自相矛盾,页面永远收录不了
开发语言·python·node.js·json·bash
geovindu1 小时前
rust: Read-Write Lock Pattern
开发语言·后端·设计模式·rust·读写锁模式·同步型模式