2016-04-08 79 views
0

私はKivyをPython 2.7で使用しています。私は静的なボタン自体の色を変更する方法に精通していますが、ボタンを押したときにボタンの色をどのように変更しますか?デフォルトは青です。Kivyのオン・クリック・ボタンの色を変更する

ありがとうございました。

答えて

1

reference for Buttonによれば、プロパティbackground_downは、Buttonが押されている間、背景に使用された画像へのパスを保存します。これはデフォルトです。

background_down = StringProperty(
    'atlas://data/images/defaulttheme/button_pressed') 

image oratlasを指すようにそのプロパティを変更することができます。

1

Kivyフレームワークはbutton_normalとBUTTON_DOWNの背景画像、BACKGROUND_COLORのみ色合いを使用するため、KV言語で、これはあなたが期待どのように動作しない可能性があります:

<Button>:  
    background_color: 1, 0, 0 # Tints the button red 
    background_normal: 'images/button_normal.png' # A clear image gives a bright red. 
    background_down: 'images/button_down.png' # A gray image gives a duller red. 
    border: (2, 2, 2, 2) # Don't stretch the outer two pixels on each edge when resizing. 

このスタイルは、あなたが言う必要がありますぼんやりしたボーダーと明るいインナーを交換し、ボタンを押すとスワップします。このシステムを使用すると、イメージは無視された色でインポートされます。

<Button>:  
    background_normal: 'images/button_normal.png' # Eg. A red button 
    background_down: 'images/button_down.png' # Eg. A green button 
    border: (2, 2, 2, 2) # Don't stretch the outer two pixels on each edge when resizing. 

あなたはイメージで作ったものは何でもボタンの色を変更します。この問題を解決し、あなたの問題を解決するためにBACKGROUND_COLORを削除します。 Kivyが画像を伸ばすのに優れていることに注目する価値はあるので、単色のボタンや小さな枠があれば、小さな画像が必要なだけで、8x8ピクセルを使用します。

関連する問題