0
色を変更するには、キャンバスを自分のチェックボックスに追加します。私はこれを見つけましたanswer、しかし私はそれを実装するのに苦労しています。 私のチェックボックスは、このコードのpythonで作成されます。Kivy:Pythonで作成されたウィジェットにcanvasを使用する方法
checkb= CheckBox()
layout.add_widget(checkb)
試み1:私はhereからソリューションを試みたが、成功せず:
checkb= CheckBox()
checkb.canvas.add(Color(1., 1., 0))
checkb.canvas.add(Rectangle(size=(50, 50)))
layout.add_widget(checkb)
試み2:私もカスタムを思い付くしようとしましたビルダーで作成されたチェックボックスが動作するようには見当たりませんでした(この種類のセットアップについての情報は見つかりませんでしたので、動作させることさえできません)。
Builder.load_string('''
<[email protected]>:
canvas.before:
Color:
rgb: 1,0,0
Rectangle:
pos:self.center_x-8, self.center_y-8
size:[16,16]
Color:
rgb: 0,0,0
Rectangle:
pos:self.center_x-7, self.center_y-7
size:[14,14]
''')
と
checkb= CustomCk()
layout.add_widget(checkb)
編集:文とと私の挑戦:
checkb= CheckBox()
with checkb.canvas:
Color(1, 2, 0)
Rectangle(size=(50, 50))
layout.add_widget(checkb)
私は 'with'文を試しましたが(私の質問では編集を参照)、背景は同じです。どんな考え? – Enora
** kv **の例では、** pos **をCheckBoxの中心にバインドしていますが、** with **の例でも同じことを試してみてください(あなたも* bind *する必要があります) checkbox.center) –