擅长:python、mysql、java
<p>我也遇到了同样的问题:我需要在kivy应用程序中隐藏或更改鼠标光标。在</p>
<p>我没有一个完美的解决方案只有一个部分:</p>
<pre><code>from kivy.uix.widget import Widget
from kivy.core.window import Window
import win32api
class NoCursorWindow(Widget):
def __init__(self, **kwargs):
super(NoCursorWindow, self).__init__(**kwargs)
Window.bind(mouse_pos=self.on_mouse_pos)
def on_mouse_pos(self, *args):
win32api.SetCursor(None)
if __name__ == '__main__':
from kivy.base import runTouchApp
runTouchApp(NoCursorWindow())
</code></pre>
<p>它只能部分工作:
使用<code>win32api.SetCursor()</code>时的问题是,当鼠标移动时,窗口会收到一条<code>WM_SETCURSOR</code>消息,该消息将光标改回默认值。这就是为什么<code>mouse_pos</code>的每次更改都必须触发<code>win32api.SetCursor()</code>。在</p>
<p>但即使这样,有时我们也可以看到默认光标闪烁。在</p>
<p>如果有人知道如何钩住<code>WM_SETCURSOR</code>,以防止调用默认光标,它可以解决这个问题。。。在</p>