网上大部分的方法都是showCursor(FALSE),但是我写了个qt widget程序调用,只能在当前qt程序界面上隐藏鼠标,移出qt界面鼠标还是会显示,有没有什么办法彻底隐藏
4条回答 默认 最新
阿里嘎多学长 2025-03-13 15:16关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
windows c++程序如何全局隐藏电脑鼠标
你遇到的问题是,使用
ShowCursor(FALSE)只能隐藏当前窗口中的鼠标,而不能全局隐藏鼠标。在 Windows 中,隐藏鼠标需要使用系统 API
SetSystemCursor和SetCursorInfo。下面是一个示例代码,使用 C++ 和 Qt 实现全局隐藏鼠标:#include <Windows.h> #include <QtGlobal> int main() { // 全局隐藏鼠标 SetSystemCursor(NULL, OCR_NORMAL); // 或者使用 SetCursorInfo // HCURSOR hCursor = LoadCursor(NULL, IDC_ARROW); // SetCursorInfo(hCursor, FALSE); return 0; }在上面的代码中,我们使用
SetSystemCursor函数将鼠标隐藏为 NULL,或者使用SetCursorInfo函数将鼠标隐藏为 FALSE。请注意,这个方法需要在 Windows XP 及更高版本上才能工作。在 Windows XP 及更低版本上,可能需要使用其他方法来实现全局隐藏鼠标。
另外,如果你想在 Qt 应用程序中隐藏鼠标,可以使用
QApplication::setOverrideCursor函数,例如:QApplication app; app.setOverrideCursor(QCursor(Qt::BlankCursor));这将隐藏 Qt 应用程序中的鼠标,但不会全局隐藏鼠标。
解决 无用评论 打赏 举报