如何用Kivy语言制作定制按钮?

2024-10-01 17:23:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用一个自定义精灵来制作一个自定义按钮。我知道如何用KV语言实现这一点,但我更愿意使用Python。在

我看到在KV语言中为精灵设置一些源属性是有效的,所以我尝试了以下方法:

from kivy.app import App
from kivy.uix.button import Button

class RoundButton(Button):
    def __init__(self, **kwargs):
        Button.__init__(self, **kwargs)
        self.source = '/home/shamildacoder/Pictures/Painting.png'

class TestApp(App):
    def build(self):
        return RoundButton(text='HELLO WORLD')

TestApp().run()

但这只是一个正常的按钮。有什么帮助吗?在


Tags: fromimportself语言appinitdefbutton
1条回答
网友
1楼 · 发布于 2024-10-01 17:23:50

据我所知,您需要一个Image,允许您处理on_press事件,对于它,^{}如下所示:

from kivy.app import App  
from kivy.uix.behaviors import ButtonBehavior  
from kivy.uix.image import Image  


class ImageButton(ButtonBehavior, Image):
    pass

class MyApp(App):  
    def build(self):  
        return ImageButton(source="kivy.png", on_press=lambda *args: print("press"))

if __name__ == "__main__":  
    MyApp().run()  

相关问题 更多 >

    热门问题