簡體   English   中英

當光標懸停在按鈕上時,如何為按鈕設置動畫?

[英]How to animate a button on kivy when the cursor is over it?

我對Kivy有點陌生,我一直在尋找一種方法來使光標懸停在按鈕上,以使其動起來。

我嘗試過一種獲取鼠標位置並將其與按鈕坐標進行比較的方法,但沒有成功。

在這個問題已經(大部分)回答了這個帖子 。還有就是一個非常好的例子在這里下LGPL許可證由Olivier POYEN。 基本上,他定義了一個名為HoverBehavior的類,您應該繼承該類以創建一個新類,例如HoverButtonHoverLabel (如他的示例所示)。 然后,您可以訪問on_enteron_leave函數,可用於更改按鈕的圖像,更改標簽的文本顏色或任何所需的功能。

為了回答您的確切問題,我將尋求理解HoverBehavior類,然后從上面的源復制/粘貼它,然后像這樣創建一個新類:

class HoverButton(Button, HoverBehavior):
    def on_enter(self, *args):
        self.background_normal = "some_image1.png" # Change the button's image when entered
    def on_leave(self, *args):
        self.background_normal = "some_other_image.png" # Change image when leaving

或者您可以使用看起來更簡潔的kv語言:

<HoverButton>:
    background_normal: "some_image1.png" if self.hovered else "some_other_image.png"

如果使用第二個選項,只需確保在您的python腳本中包括HoverButton的基類:

class HoverButton(Button, HoverBehavior):
    pass

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM