Я только начинающий в Kivy и Python, в моем простом приложении я добавил изображение с ButtonBehavior, как описано в посте Kivy-- Изображение в виде кнопки .
Этоработает, но кликабельная область больше, чем размер моего изображения, хотя мне бы хотелось, чтобы она была точно такой же, как и у png-картинки в источнике (т.е. треугольник
Любая идея, чтобы решить эту проблему?
Я также добавил прямоугольник, чтобы выделить область, на которую можно кликнуть (светло-синий), если я играю с размером на холсте, область, на которую можно кликнуть, не изменится:
Окно моего приложения
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.image import Image
from kivy.lang import Builder
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
class RootWidget(FloatLayout):
pass
class ImageButton(ButtonBehavior, Image):
def on_press(self):
print('pressed')
Builder.load_string("""
<RootWidget>:
ImageButton:
source:'BtnTriangle.png'
size_hint: None, None
canvas.before:
Color:
rgba: 0, 40, 30, 0.8
Rectangle:
size: self.size
pos: self.pos
""")
class ButtonLayout(App):
def build(self):
return RootWidget()
if __name__ == "__main__":
ButtonLayout().run()