kivy 学習:Kv ファイルを別途用意しない方法

2018-04-11 :  PCクリニック
先日(2018-03-23)の記事「Anaconda 学習:kivy 導入」では、
メインの“kivy_GUI_sample.py”ファイルと、
レイアウトを定義した、Kvファイル:test.kv ファイル
の2つのファイルが必要だった。

これを、test.kv ファイルの中身を移して、
メインの“kivy_GUI_sample.py”ファイル1つにしたい。

あれこれ学習して、分かったのは、

  class TextWidget(Widget):

を定義する前に、

1) from kivy.lang import Builder

  を定義する。


2) それに続いて、

  Builder.load_string( ''' ~~~ ''' ) を追加する。


ここで、 ~~~ 部分は、
「test.kv」から1行目(TextWidget:)を除いたもの。


と、
これで動いた様に見えていたが、・・・・・


先日(2018-04-09)の「Anaconda 32 ビット版導入」で書いた
時に、この1ファイルだけで確認しようとしたら、

  Kv ファイルが見つからない

と云ったようなエラーが発生???



さんざん悩んだ挙げ句、原因が判明した。

3) 最終段の“class TestApp(App):”の中身も変更が必要だった。

   def build(self):
self.title = 'greeting'
return TextWidget()
の様に。



結果、1ファイル化したコードは:
# -*- coding: utf-8 -*-

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import StringProperty, ListProperty

from kivy.lang import Builder

Builder.load_string('''
<TextWidget>:
BoxLayout:
orientation: 'vertical'
size: root.size

# ラベル
Label:
size_hint_y: 0.7
id: label1
font_size: 68
text: root.text
color: root.color

BoxLayout:
size_hint_y: 0.3
padding: 20,30,20, 10
Button:
id: button1
text: "morning"
font_size: 68
on_press: root.buttonClicked() # ボタンをクリックした時

Button:
id: button2
text: "day"
font_size: 68
on_press: root.buttonClicked2() # ボタンをクリックした時

Button:
id: button3
text: "night"
font_size: 68
on_press: root.buttonClicked3() # ボタンをクリックした時
''')

class TextWidget(Widget):
text = StringProperty()
color = ListProperty([1,1,1,1])

def __init__(self, **kwargs):
super(TextWidget, self).__init__(**kwargs)
self.text = 'start'

def buttonClicked(self):
self.text = 'Good morning'
self.color = [1, 0, 0 , 1]

def buttonClicked2(self):
self.text = 'Hello'
self.color = [0, 1, 0 , 1 ]

def buttonClicked3(self):
self.text = 'Good evening'
self.color = [0, 0, 1 , 1 ]

class TestApp(App):
def build(self):
self.title = 'greeting'
return TextWidget()

TestApp().run()
でした。



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180222,0310
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
04 | 2018/05 | 06
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク