在系统范围内隐藏系统光标

时间:2014-04-20 05:27:56

标签: qt pyqt qt5 pyside pywin32

我想出于某种原因隐藏系统光标10秒,但我找到了

cursor.setShape(Qt.BlankCursor)

只能隐藏与QWidgets相关的鼠标光标,而不能隐藏在系统范围内,即。当鼠标光标悬停在QWidgets上时,它是不可见的,否则它是可见的,那么有没有办法在系统范围内隐藏系统光标?

1 个答案:

答案 0 :(得分:1)

win32系统调用ShowCursor仅适用于每个窗口。您可以从ctypes或pywin32的win32api访问它。但显然光标绘图由显示驱动程序控制,只能受特定窗口的影响。您无法强制另一个窗口隐藏其光标。两个选项:

  1. 在您的窗口上使用ShowCursor(False),对于显示背景,创建一个从GUI应用程序生成的根窗口应用程序,它隐藏光标;你的应用程序将导致它在10秒后退出,但如果用户将鼠标移动到其他应用程序窗口,他们将再次看到光标。
  2. 使您的应用程序成为根窗口应用程序;然后在视图中,ShowCursor(False)将使光标在屏幕上消失,除了系统工具栏(这是一件好事)。
  3. 我认为这不是一个好主意;如果您的应用程序在隐藏鼠标时崩溃了怎么办?然后用户无法轻松使用他们的桌面。这是不允许的绝对好理由。

    最好的方法是考虑一个不同的解决方案来解决导致你尝试光标隐藏的任何问题。