【问题标题】:Changing mouse cursor in kivy在kivy中更改鼠标光标
【发布时间】:2015-02-12 13:50:53
【问题描述】:

我搜索了如何在kivy中更改光标图标,但我发现的唯一方法是直接在pygame中更改它。 Pygame 不支持彩色或动画 gif 作为其光标,因此我制作了一个以 Screen 为父级的 Image 小部件,并将其设置为跟随鼠标在窗口中的位置。

    ScreenManager:
        Screen:
            MyMouse:
                Image:

问题是...我的图像并不总是保持在顶部。 Popup 和 Spinner 小部件被绘制在它上面。

我可能做错了...

有没有一种简单的方法可以做我想做的事?

【问题讨论】:

  • 您可以将鼠标光标小部件添加到窗口 (kivy.core.window.Window.add_widget),而不是将其放在普通的小部件树中。但仍有一些情况(如弹出窗口)不起作用。
  • 我试过这个,但我也需要鼠标在弹出窗口上!

标签: python cursor pygame mouse kivy


【解决方案1】:

尝试像这样使用 Scatter 而不是 Image:

class MyMouse(Scatter):
    self.add_widget('yourimage.jpg')
    self.auto_bring_to_front = True

【讨论】:

  • 弹出窗口和微调器仍显示在图像上。 =(
  • Kivy 仅在添加小部件时才让我们控制小部件的顺序,因此 add_widget() 方法的顺序在这里非常重要。如果您动态生成小部件并且它们显示在顶部,则无法将它们后面的小部件带到前面。您只能删除旧图像并创建一个新图像。
猜你喜欢
  • 2010-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多