Kivyでは画像ファイル名の代わりにボタンの背景として画像オブジェクトを渡す方法はありますか?Kivyのボタンの背景として画像オブジェクトを渡す
button.background_normal
プロパティは文字列のみを受け入れます。 allow_stretch = False
などの画像プロパティをカスタマイズしたいと思います。
成功した場合、ボタン内でイメージの配置を指定するにはどうすればいいですか?左上揃えにするには?
Kivyでは画像ファイル名の代わりにボタンの背景として画像オブジェクトを渡す方法はありますか?Kivyのボタンの背景として画像オブジェクトを渡す
button.background_normal
プロパティは文字列のみを受け入れます。 allow_stretch = False
などの画像プロパティをカスタマイズしたいと思います。
成功した場合、ボタン内でイメージの配置を指定するにはどうすればいいですか?左上揃えにするには?
ソースはButtonの単なるプロパティであり、指摘したとおりの文字列です。あなたはウィジェットをウィジェットの中に入れたいと思っています。それがKivyの基本的な仕組みです。それで、そのままImageを追加してください。少しのポジショニングが残りの作業を行います。
位置決めには注意が必要です。それが目に見える部分にあり、何もそれを覆っていないことを確認してください。ボタンの後にLabelを使用しています。なぜなら、透明なColorを持っているからです。あなたはそれを試すことができます。たとえば、ポジショニングが間違っている場合は(x:0 y:0
を試してください)、ラベル領域の左下隅にあるボタンが表示されます。
私が使用していた画像がKivy logo次のとおりです。
toto_ticoの答えに加えてfrom kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
Builder.load_string("""
<ButtonsApp>:
orientation: "vertical"
Button:
text: "B1"
Image:
source: 'kivy.png'
y: self.parent.y + self.parent.height - 250
x: self.parent.x
size: 250, 250
allow_stretch: True
Label:
text: "A label"
""")
class ButtonsApp(App, BoxLayout):
def build(self):
return self
if __name__ == "__main__":
ButtonsApp().run()
ありがとう、それは素晴らしい作品です。私は何とかウィジェットはレイアウトウィジェットにしか追加できないと思っていました。私は他のウィジェットの上に追加できることに気づいていませんでした。 – blablatros
この例はhttp://kivy.org/docs/api-kivy.uix.button.htmlに含まれていなければならないと思います。背景画像を設定する唯一の方法は 'background_normal'のように見えるからです。 – martin
なぜ、 'Ìmage'の下にある' pos_hint:{"center_x":0.5、 "center_y":0.5,5} 'は動作しませんか? – Nearoo
、あなたはとボタンの中央に画像を見つけることができます:ちょうどallow_stretchに注意することが
Button:
id: myButton
Image:
source: "./buttonImage.PNG"
center_x: self.parent.center_x
center_y: self.parent.center_y
んKivy 1.6に存在しません –