[英]How to animate a button on kivy when the cursor is over it?
我對Kivy有點陌生,我一直在尋找一種方法來使光標懸停在按鈕上,以使其動起來。
我嘗試過一種獲取鼠標位置並將其與按鈕坐標進行比較的方法,但沒有成功。
在這個問題已經(大部分)回答了這個帖子 。還有就是一個非常好的例子在這里下LGPL許可證由Olivier POYEN。 基本上,他定義了一個名為HoverBehavior
的類,您應該繼承該類以創建一個新類,例如HoverButton
或HoverLabel
(如他的示例所示)。 然后,您可以訪問on_enter
和on_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.