私はKivyを初めて使用し、ボタンの背景色を指定するのに苦労しています。これが私の簡単な例です:
# custombutton.py
from kivy.app import App
from kivy.uix.widget import Widget
class MyWidget(Widget):
pass
class CustomButtonApp(App):
def build(self):
return MyWidget()
if __name__ == '__main__':
CustomButtonApp().run()
そして、付随するkvファイルcustombutton.kv
:
#:kivy 1.7.2
<MyWidget>:
canvas:
Color:
rgb: (0.93, 0.93, 0.93)
Rectangle:
pos: self.pos
size: self.size
Button:
center: self.parent.center
font_size: 14
height: 28
background_color: (1.0, 0.0, 0.0, 1.0)
text: "I'm a Button"
私は明らかな何かを見逃していると確信していますが、私はこれを1時間以上いじっていてどこにも行きませんでした。ボタンは非常に濃い赤のヒントで色付けされているようです:
これは、Kivyでボタンの背景色を指定する方法ではありませんか?
ありがとう!
ああ、これはよくある混乱です。問題はそれです Button.background_color
は、ブロックカラーだけでなく、実際にはtintの一種として機能します。デフォルトの背景は灰色の画像(スタイルのないボタンを作成すると通常表示される画像)であるため、最終的に表示されるのはその灰色の画像の赤い色合いです-濃い赤で表示されます。
背景画像を無地の白(数ピクセル以上である必要はありません)だけに置き換えるか、またはbackground_normal
およびbackground_down
プロパティ。 background_colorが新しい純白の画像に色を付けると、目的の純赤が得られます。
これはドキュメントではそれほど明確ではないと思いますが、改善しようと思います。
これが最初に投稿されてからしばらく経っているので、おそらく更新により、より良い解決策が思い付きました:
Button:
background_normal: ''
background_color: 1, .3, .4, .85
ボタンにはデフォルトのグレーがあるため、背景色を追加してもボタンの色合いは変わりません。 background_normalを ''に設定すると、デフォルトが白にリセットされます。白いキャンバスから、background_colorは期待どおりに機能します。
ドキュメント
1) https://kivy.org/docs/api-kivy.uix.button.html?highlight=button#module-kivy.uix.button