私は約1週間前にcodeacademyからpythonを学んだことがあり、pythonとkivyの初心者は完全に初心者です。Kivy Python - NumericPropertyを使わずに変数をインクリメントするボタン
誰かが私に説明してください理由は、以下のコードは、ボタンで増分されているnが表示されたラベルの画面にならないのですか?
Pythonのファイル作るのn = NumericProperty(0)この作品を作る理由
<Example>:
BoxLayout:
Label:
text: str(root.n)
Button:
text: "+1"
on_press: root.n_plus()
は、その後、あなたが説明できる
import kivy
from kivy.app import App
from kivy.uix.button import Button, Label
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import NumericProperty
class Example(BoxLayout):
n = 0
def n_plus(self):
self.n += 1
class ExampleApp(App):
def build(self):
return Example()
example = ExampleApp()
example.run()
KVファイル?
数値プロパティで動作しないnの関数をいくつか実行したいと思います。
これを見る1つの方法は、.kvです。あなたのPythonで何が起こっているのかわかりません。したがって、あなたは "ヘルプ"する必要があります。.kv Pythonで起こっている変更を "見る":これは "バインディング"と呼ばれます。 NumericProperty(0)(またはObjectPropertyやStringPropertyのようなプロパティ)を使用することはバインディングの方法です。 これまでのところ私は理解しています。私はkivy(2〜3週間前)もやっていますので、もっと正確には申し訳ありません。 – Enora
.kvがPythonで何が起こっているかを "見る"ように強制する別の方法は、Pythonであなたのラベルのテキストを更新することです:http://codepad.org/kg5Kd5pT – Enora