これは、私の実際のプログラムから単純化されたボタン1または2を押すと、 "Hello"または "Good-bye"を表示するサンプルプログラムです。
ボタン1を押さずに、プログラム起動時に関数btn1()を実行し、 "Hello"を表示することです。
どの行のコードを追加すればよいですか?
クラスGreetingsに「Greetings()。btn1()」を挿入すると、エラー:「名前グリーティングが定義されていません」が発生しました。その後、GreetingAppクラスのdefビルド(自己)の後に同じコマンドを入れましたが、何も起こりませんでした。 main.pyでPython:クラス内からの関数呼び出し
、
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty
class Greetings(BoxLayout):
greeting=StringProperty()
def btn1(self):
self.greeting='Hello.'
def btn2(self):
self.greeting='Good-bye.'
class GreetingApp(App):
def build(self):
return Greetings()
GreetingApp().run()
そしてgreeting.kvで、
#: import main main
Greetings:
<Greetings>:
orientation: "vertical"
Label:
text: root.greeting
BoxLayout:
orientation: "horizontal"
Button:
text: '1'
on_press: root.btn1()
Button:
text: '2'
on_press: root.btn2()
ありがとうございます。できます! – user9037109
あなたは大歓迎です。 – Fogapod