【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() 的次数,将不会产生错误,但光标不会再被进一步恢复。
相关推荐
你不是我我2 小时前
【Java 开发日记】HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·开发语言·微服务
tjl521314_212 小时前
04C++ 名称空间(Namespace)
开发语言·c++
赏金术士2 小时前
Kotlin 数据流与单双向绑定
android·开发语言·kotlin
逻辑驱动的ken3 小时前
Java高频面试场景题25
java·开发语言·深度学习·面试·职场和发展
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题】【Java基础篇】第32题:Java的异常处理机制是什么
java·开发语言·后端·面试
無限進步D6 小时前
Java 面向对象高级 接口
java·开发语言
两年半的个人练习生^_^7 小时前
Java日志框架和使用、日志记录规范
java·开发语言·开发规范
杨凯凡8 小时前
【032】排查入门:jstack、heap dump、Arthas 初识
java·开发语言·后端
其实防守也摸鱼8 小时前
无线网络安全--实验 规避WLAN验证之发现隐藏的SSID
java·开发语言·网络·安全·web安全·智能路由器·无线网络安全
l1t8 小时前
astral-sh发布的musl和gnu版本standalone python 性能比较
开发语言·python