Kivy公式サイトのKivy Crash Course 6 – Kivy propertiesを作ってみた!

<<<関連記事>>

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

上の本の、4章を終えた所までで類題として作れるアプリです。

Video(YouTube)

この動画では、前回PythonとKV言語で作ったプログラムを、

Kivy公式サイトのKivy Crash Course 5 – Kivy languageで作った所までです。

前回のコード

「main.py」

from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
import random


class ScatterTextWidget(BoxLayout):
    def change_label_colour(self,args):

        colour=[random.random()
        for i in range(3)]+[1]
        label=self.ids[‘my_label’]
        label.color=colour
class TutorialApp(App):
    def build(self):
        return ScatterTextWidget()
    def some_function(args):
        print(‘text changed’)

if name == “main”:
TutorialApp().run()

「tutorial.kv」

<ScatterTextWidget>:
    orientation:’vertical’
    TextInput:
        id:my_textinput
        font_size:150
        size_hint_y:None
        height:200
        text:’dafault’
        on_text:root.change_label_colour()

    FloatLayout:
        Scatter:
            Label:
                id:my_label
                text:my_textinput.text
                font_size:150

これを今回用に改変していきます。

エディタ Visual Studio Codeに書いていってターミナルで実行します。

前回の「crash5」というフォルダの内容「main.py」と「tutorial.kv」を、今回の「crash6」というフォルダに保存して動作を確認しました。

では、今回の動画(全部英語で泣きそう)をみながら食らいついてコードを書きました。

動画の3分5秒あたりまでの内容です。

文字を入力したり消したりすると、色が変わるのは前回と同じで、今回は文字の分身が現れます。

文字列が「default」だと分かりにくいので、「abcdefg」とした場合のスクショを掲載します。

「main.py」

from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
import random


class ScatterTextWidget(BoxLayout):
    def change_label_colour(self,args):

        colour=[random.random()
        for i in range(3)]+[1]
        label=self.ids[‘my_label’]
        label.color=colour

class TutorialApp(App):
    def build(self):
        return ScatterTextWidget()

def some_function(args):
print(‘text changed’)
if name == “main”:
TutorialApp().run()

「tutorial.kv」

<ScatterTextWidget>:
    orientation:’vertical’
    TextInput:
        id:my_textinput
        font_size:150
        size_hint_y:None
        height:200
        on_height:do_someting()
        text:’dafault’
        on_text:root.change_label_colour()
    FloatLayout:
        Scatter:
            Label:
                id:my_label
                text:my_textinput.text
                font_size:150
    BoxLayout:
        orientation:’horizontal’
        size_hint_y:None
        height:150
        Label:
            text:my_textinput.text[:3][::-1]
            font_size:100
        Label:
            text:my_textinput.text[-3:][::-1]
            font_size:100

スライサーの所のコードを見ながら確認します。

左側の文字はabcdefgの最初から3文字分の「abc」が「cba」になっています。

右側の文字はabcdefgの後ろから3文字分の「efg」が「gfe」になっています。

次に、4分5秒の所のコードです。

このコードでは、色が分身ラベルの左右両方に反映されています。

「main.py」

from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
import random


class ScatterTextWidget(BoxLayout):
    def change_label_colour(self,args):

        colour=[random.random()
        for i in range(3)]+[1]
        label=self.ids[‘my_label’]
        label.color=colour
        label1=self.ids.label1
        label2=self.ids.label2
        label1.color=colour
        label2.color=colour

class TutorialApp(App):
    def build(self):
        return ScatterTextWidget()
def some_function(args):
    print(‘text changed’)

if name == “main”:
TutorialApp().run()

「tutorial.kv」

<ScatterTextWidget>:
    orientation:’vertical’

    TextInput:
        id:my_textinput
        font_size:150
        size_hint_y:None
        height:200
        on_height:do_someting()
        text:’dafault’
        on_text:root.change_label_colour()
    FloatLayout:
        Scatter:
            Label:
                id:my_label
                text:my_textinput.text
                font_size:150
    BoxLayout:
        orientation:’horizontal’
        size_hint_y:None
        height:150
        Label:
            id:label1
            text:my_textinput.text[:3][::-1]
            font_size:100
        Label:
            id:label2
            text:my_textinput.text[-3:][::-1]
            font_size:100


最後に、8分35秒の所のコードです。

Python側をシンプルにして、プロパティを使っています。

「main.py」

from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ListProperty
import random


class ScatterTextWidget(BoxLayout):
    text_colour=ListProperty([1,0,0,1])
    def change_label_colour(self,args):

        colour=[random.random()
        for i in range(3)]+[1]
        self.text_colour=colour
class TutorialApp(App):
    def build(self):
    return ScatterTextWidget()

def some_function(args):
print(‘text changed’)

if name == “main”:
TutorialApp().run()

「tutorial.kv」

<ScatterTextWidget>:
    orientation:’vertical’

    TextInput:
        id:my_textinput
        font_size:150
        size_hint_y:None
        height:200
        on_height:do_someting()
        text:’dafault’
        on_text:root.change_label_colour()

    FloatLayout:
        Scatter:
            Label:
                id:my_label
                text:my_textinput.text
                font_size:150
                color:root.text_colour
    BoxLayout:
        orientation:’horizontal’
        size_hint_y:None
        height:150
        Label:
            id:label1
            text:my_textinput.text[:3][::-1]
            font_size:100
            color:root.text_colour
        Label:
            id:label2
            text:my_textinput.text[-3:][::-1]
            font_size:100
            color:root.text_colour

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Kivy公式サイトのKivy Crash Course 5 – Mixing python and kivy languageを作ってみた!

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

上の本の、4章を終えた所までで類題として作れるアプリです。

Video(YouTube)

この動画では、前回PythonとKV言語で作ったプログラムを、文字の色をランダムに改変していきます。

前回の内容 Kivy公式サイトのKivy Crash Course 4 – Kivy language

前回のコードです。
これを今回用に改変していきます。

エディタ Visual Studio Codeに書いていってターミナルで実行します。

前回の「crash4」というフォルダの内容「main.py」と「tutorial.kv」を、今回の「crash5」というフォルダに保存して確認しました。

そのコードです。

「main.py」

from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout


class ScatterTextWidget(BoxLayout):
    pass

class TutorialApp(App):
    def build(self):
        return ScatterTextWidget()

def some_function(*args):
    print(‘text changed’)

if name == “main”:
    TutorialApp().run()

「tutorial.kv」

<ScatterTextWidget>:
    orientation:’vertical’
    TextInput:
        id:my_textinput
        font_size:150
        size_hint_y:None
        height:200
        text:’dafault’
    FloatLayout:
        Scatter:
            Label:
                text:my_textinput.text
                font_size:150

無事動かせました。

では、動画(全部英語で泣きそう)をみながら食らいついてコードを書きました。

「main.py」

from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout


import random

class ScatterTextWidget(BoxLayout):
    def change_label_colour(self,args):

        colour=[random.random() for i in range(3)]+[1]
         label=self.ids[‘my_label’]
        label.color=colour class TutorialApp(App):
def build(self):
return ScatterTextWidget()

def some_function(args):
print(‘text changed’)

if name == “main”:
    TutorialApp().run()

「tutorial.kv」

<ScatterTextWidget>:
    orientation:’vertical’
    TextInput:
        id:my_textinput
        font_size:150
        size_hint_y:None
        height:200
        text:’dafault’
        on_text:root.change_label_colour()
    FloatLayout:
        Scatter:
            Label:
                id:my_label
                text:my_textinput.text
                font_size:150

では、動作を見てみます。

文字を入力したり消したりすると、色が変わります。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Kivy公式サイトのKivy Crash Course 4 – Kivy languageを作ってみた!

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

上の本の、4章を終えた所までで類題として作れるアプリです。

Video(YouTube)

この動画では、前回Pythonで作ったプログラムを、PythonとKV言語(ファイル拡張子が.kv)で、作ってよりPythonのコードがシンプルになることを学べる内容になっています。

Kivy Crash Course 3 – More interesting widget interactions
で作ったコードを改変して、好きな文字を入力して動かせるようにしたアプリです。

前回のコードが書いてあるファイルを開いて、これを今回用に改変していきます。

エディタ Visual Studio Codeに書いていってターミナルで実行します。

前回の「crash3」というフォルダの内容「main.py」を、今回の「crash4」というフォルダに保存して確認しました。

そのコードです。

from kivy.app import App

from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout

class TutorialApp(App):
    def build(self):
        b=BoxLayout(orientation=’vertical’)
        t=TextInput(font_size=150,
        size_hint_y=None,
        height=200,
        text=’default’)
        f=FloatLayout()
        s=Scatter()
        l=Label(text=’default’,font_size=150)
        t.bind(text=l.setter(‘text’))
        f.add_widget(s)
        s.add_widget(l)
        b.add_widget(t)
        b.add_widget(f)
        return b


def some_function(*args):
print(‘text changed’)

if name == “main”:
TutorialApp().run()

無事動かせました。

では、動画(全部英語で泣きそう)をみながら食らいついてコードを書きました。

Crash4フォルダの中にはmain.pyの他に「tutorial.kv」と言うファイルを作ります。

main.pyのAppのところが、何々Appだった場合、「何々.kv」と言うファイル名になります。

まずは、「main.py」

from kivy.app import App

from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout

class ScatterTextWidget(BoxLayout):
    pass

class TutorialApp(App):
    def build(self):

return ScatterTextWidget()

def some_function(*args):
    print(‘text changed’)

if name == “main”:
TutorialApp().run()

とてもコードがシンプルになりましたね。

次に、「tutorial.kv」です。

<ScatterTextWidget>:
    orientation:’vertical’
    TextInput:
        id:my_textinput
        font_size:150
        size_hint_y:None
        height:200
        text:’dafault’
    FloatLayout:
        Scatter:
            Label:
                text:my_textinput.text
                font_size:150

では、動作を見てみます。

好きな文字を動かしてみます。

「I love cat!!」

<2>

動かせました。

次に、同じフォルダに日本語フォントを入れてカスタマイズします。

私は志村けんさんが好きなので、最後に「default」を「なんだチミは」と表示されるようにカスタマイズします。

同じフォルダ「crash4」の中に日本語フォントを置いてみます。

Googleフォントから好きな日本語フォントを持ってきて、フォントファイルの名前をわかりやすく変えて実行してみます。

やり方はNRさんという方の動画が分かりやすいです。

このようになりました。

Kvファイルを動かしても、ちゃんと日本語フォントが出たことにホッとしました。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Kivy公式サイトのKivy Crash Course 3 – More interesting widget interactionsを作ってみた!

この記事では、Kivy公式サイトと下記の本の章を対応づけての学習を記録しています。
見本通りに作っていったコードに遊びの要素を加えてカスタマイズしています。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

上の本の、3章の最後の演習問題を終えた所までで類題として作れるアプリです。
演習問題の解答のダウンロードは、この本の始めの方に書かれています。

Kivy Crash Course 3 – More interesting widget interactions

Video(YouTube)

このアプリは前回作った
Kivy Crash Course 1 – Making a simple Appで作ったコードを改変して、
好きな文字を入力して動かせるようにしたアプリです。

最初は「default」という単語を動かします。

エディタ Visual Studio Codeに書いていってターミナルで実行します。

「crash3」というフォルダを作って、その中に「main.py」というファイルにコードを書いていきます。

ウィジェットツリーです。

コードです。

from kivy.app import App

from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout

class TutorialApp(App):
    def build(self):
        b=BoxLayout(orientation=’vertical’)
        t=TextInput(font_size=150,
        size_hint_y=None,
        height=200,
        text=’default’)
        f=FloatLayout()
        s=Scatter()
        l=Label(text=’default’,font_size=150)
        t.bind(text=l.setter(‘text’))
        f.add_widget(s)
        s.add_widget(l)
        b.add_widget(t)
        b.add_widget(f)
        return b


def some_function(*args):
print(‘text changed’)


if name == “main”:
TutorialApp().run()

このように動かせました。

好きな文字を動かしてみます。

「I love cat!!」

私は志村けんさんが好きなので、最後の所に「default」を「何だ、チミは!!」と表示されるようにカスタマイズします。

同じフォルダ「crash3」の中に日本語フォントを置いてみます。

Googleフォントから好きな日本語フォントを持ってきて、フォントファイルの名前をわかりやすく変えて実行してみます。

やり方はNRさんという方の動画が分かりやすいです。

このようになりました。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Kivy公式サイトのKivy Crash Course 1 – Making a simple Appを作ってみた!

この記事では、Kivy公式サイトと下記の本の章を対応づけての学習を記録しています。
見本通りに作っていったコードに遊びの要素を加えてカスタマイズしています。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

上の本の、3章の最後の演習問題を終えた所までで類題として作れるアプリです。
演習問題の解答のダウンロードは、この本の始めの方に書かれています。

公式サイト(英語)です。
Kivy Crash Course 1 – Making a simple App

その動画説明です。

このアプリは「Hello」を画面上の好きな位置に動かすといった、Floatを使った単純なアプリです。

エディタ Visual Studio Codeに書いていってターミナルで実行します。

「crash1」というフォルダを作って、その中に「main.py」というファイルにコードを書いていきます。

後で同じフォルダに日本語フォントを入れてカスタマイズします。

私は志村けんさんが好きなので、この記事の最後のところで、「Hello」を「あい〜〜〜ん」と表示されるようにカスタマイズします。

Helloという青いボタンが画面いっぱいの表示される所までプログラミングします。

このプログラムのウィジェットツリーになります。

そのコードです。

from kivy.app import App
from kivy.uix.button import Button

class TutorialApp(App):
    def build(self):
        #rgbaでボタンを色を青にする
        return Button(text=’Hello!’,
        background_color=(0,0,1,1),
        font_size=150)

if name == “main”:
TutorialApp().run()

コメントのrgbaですが、Rは赤、Gは緑、Bは青、最後のAは透明度です。

ターミナルに切り替えて、
「cd crash1」で「main.py」が入っているフォルダに移動し、
「python main.py」で実行します。

このように実行できました。

他の色を見てみます。


background_color=(1,0,0,1)


background_color=(0,1,0,1)

では、「Hello!」の文字を好きな位置に動かせるアプリを作っていきます。

コードです。

from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout

class TutorialApp(App):
    def build(self):
        f=FloatLayout()
        s=Scatter()
        l=Label(text=’Hello!’,font_size=150)
        f.add_widget(s)
        s.add_widget(l)
        return f

if name == “main”:
TutorialApp().run()

左下隅に文字が出ているので、それをマウスで移動します。

また、2つの点を右クリックしてHello!の大きさを変えられます。

最後に「Hello!」を、志村けんさんの「あい〜〜〜〜ん」にカスタマイズします。
同じフォルダ「crash1」の中に日本語フォントを置いてみます。

Googleフォントから好きな日本語フォントを持ってきて、フォントファイルの名前をわかりやすく変えて実行してみます。

やり方はNRさんという方の動画が分かりやすいです。

このようになりました。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Kivy公式サイトのチュートリアル4を作ってみた!(電卓で数字表示)

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

上の本の、2章まで学んだ所で作れるアプリです。

Kivy公式テキストチュートリアル4

フォルダ「koushiki4」の中に「main.py」ファイルを置き、コードは「main.py」に書きます。

このチュートリアルでは、前回のチュートリアルに続いて電卓を扱いますが、演算機能まではありません。
キーを押したらラベルにその数字が表示されるところまでです。

では、コードです。
今回は多少コードが長いので、コメントもわかる範囲で加えました。

数字キーのところで関数が入れ子になっていて、インデントも複雑になっているので、模写される方はインデントにお気を付けてください。

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label



class YourApp(App):
def build(self):
root_widget=BoxLayout(orientation=’vertical’)
output_label=Label(size_hint_y=1)
button_symbols=(‘1′,’2′,’3′,’+’,
‘4’,’5′,’6′,’-‘,
‘7’,’8′,’9′,’.’,
‘0’,’‘,’/’,’=’)


#数字ボタン群の高さはラベルの高さの2倍で4列用意
#ボタンの表示は数値と一致させる
button_grid=GridLayout(cols=4,size_hint_y=2)
for symbol in button_symbols:
button_grid.add_widget(Button(text=symbol))

#「clear_button」の文字と高さの設定
clear_button=Button(text=’clear’,size_hint_y=None,
height=100)

#ラベルに押したボタンを表示させる
def print_button_text(instance):
output_label.text+=instance.text
for button in button_grid.children[1:]:
button.bind(on_press=print_button_text)

#ラベルに表示させる文字の大きさを調整する
def resize_label_text(label,new_height):
label.font_size=0.5*label.height
output_label.bind(height=resize_label_text)

def evalute_result(instance):
try:
output_label.text=str(eval(output_label.text))
except SyntaxError:
output_label.text=’Python syntax error!’
button_grid.children[0].bind(on_press=evalute_result)

def clear_label(instance):
output_label.text=”
clear_button.bind(on_press=clear_label)

root_widget.add_widget(output_label)
root_widget.add_widget(button_grid)
root_widget.add_widget(clear_button)
return root_widget

YourApp().run()

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Kivy公式サイトのチュートリアル3を作ってみた(後半)(電卓)!

この記事では、下記に紹介する本と、Kivy公式サイトを章ごとに対応づけて、学びをアウトプットしています。

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

Kivyというライブラリを使ってPythonでアプリを作って行くへ戻る

■関連記事■

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

上の本の、2章まで学んだ所で作れるアプリです。

Kivy公式テキストチュートリアル3

少し長いので、前半と後半に分けます。
この記事(後半)では、シンプルな電卓を作ります。
前半はこちら!
その後、「clear」ボタンに日本語表記を適用します。

このプログラムのウィジェットツリーです。

また、私の英語力は英検4級なので(3級落ちた)公式サイトの分からない英単語を調べながら読みました。

arranges…整える、整頓する

extra…余分

relative…相対的

explicitly…明示的に

components…構成要素

encouraged…奨励

modifying…変更

concept…概念

フォルダ「koushiki3kouhan」の中に「main.py」ファイルを置き、コードは「main.py」に書きます。

では、コードです。

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label


class YourApp(App):
def build(self):
root_widget=BoxLayout(orientation=’vertical’)
output_label=Label(size_hint_y=1)
button_symbols=(‘1′,’2′,’3′,’+’,
‘4’,’5′,’6′,’-‘,
‘7’,’8′,’9′,’.’,
‘0’,’*’,’/’,’=’)
button_grid=GridLayout(cols=4,size_hint_y=2)
for symbol in button_symbols:
button_grid.add_widget(Button(text=symbol))
clear_button=Button(text=’clear’,size_hint_y=None,height=100)
root_widget.add_widget(output_label)
root_widget.add_widget(button_grid)
root_widget.add_widget(clear_button)
return root_widget


YourApp().run()

ターミナルに切り替えて、
「cd koushiki3kouhan」で「main.py」が入っているフォルダに移動し、
「python main.py」で実行します。

このように実行できました。

このプログラムでは、計算機能はまだ無いみたいです。

次のチュートリアルでアウトプットラベルに表示出来るようなので、ここではボタンとアウトプットラベルのレイアウトのみを勉強していきます。

では、サイズを変えながらコードを理解していきます。

output_label=Label(size_hint_y=1)

で、アウトプットラベルの高さを1として、

button_grid=GridLayout(cols=4,size_hint_y=2)

で、数字ボタン領域の高さをその倍の2としています。ボタンは4列ですね。ここで、ボタンの高さをy=3にしてみます。

button_grid=GridLayout(cols=4,size_hint_y=3)

上の図と比べてみると、数字ボタン領域が大っきくなりましたね。

コードを元に戻して、cols=5と変更し、5列にしてみます。

とても不恰好な電卓になりました。

今度はcols=3と変更し、3列にしてみます。

…とてもコメントしづらい電卓が出来ました。

コードを元に戻して実行します。

最後に一番下の「clear」ボタンを「消しゴム」といった日本語表示にします。

同じフォルダ「koushiki3kouhan」の中に日本語フォントを置いてみます。

Googleフォントから好きな日本語フォントを持ってきて、フォントファイルの名前をわかりやすく変えて実行してみます。

やり方はNRさんという方の動画が分かりやすいです。

では、カスタマイズして実行してみます。

このようになりました。

ちょっと気になったのが、ボタンの数字が小さいということです。

少々老眼入っているので、このような1行をimportとclassの間に加えて、ボタンの字を大きくしてみます。

Button.font_size=50

見やすくなったと思います。

次のチュートリアルでは、ボタンを押したらラベルに表示されるところまでの電卓です。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Kivy公式サイトのチュートリアル3を作ってみた(前半)(ボタン)!

この記事では、下記に紹介する本と、Kivy公式サイトを章ごとに対応づけて、学びをアウトプットしています。

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

Kivyというライブラリを使ってPythonでアプリを作って行くへ戻る

■関連記事■

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

上の本の、2章まで学んだ所で作れるアプリです。

Kivy公式テキストチュートリアル3

少し長いので、前半と後半に分けます。
後半はこちら

このプログラムのウィジェットツリーです。

また、私の英語力は英検4級なので(3級落ちた)公式サイトの分からない英単語を調べながら読みました。

combine…合わせる、結合させる

solely…単独で

construct…構築する

described…説明

recommend…おすすめ

emphasizes…強調する

composition…組成

implemented…実装

related…関連する

この記事(前半)では、ボタン2つ表示されるアプリを作ります。
ボックスレイアウトを使います。

その後、ボタン1に「pochittona(ポチッとな)」、ボタン2はランダムに「zuddonn(ズドーン)」「bakkyu-nn(バキューン)」「nngo—-(ンゴーーーー)」と表示され、最後に日本語表記を適用します。

フォルダ「koushiki3zenhan」の中に「main.py」ファイルを置き、コードは「main.py」に書きます。

では、コードです。

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout


class YourApp(App):
    def build(self):
        layout=BoxLayout(orientation=’vertical’)
        b1=Button(text=’button1′)
        b2=Button(text=’button2′)
        layout.add_widget(b1)
        layout.add_widget(b2)
        return layout


YourApp().run()

ターミナルに切り替えて、
「cd koushiki3zenhan」で「main.py」が入っているフォルダに移動し、
「python main.py」で実行します。

このように実行できました。

では、ここからコードを少し改変します。

ランダムモジュールをインポートします。

import random

リストに、ズドーン、バキューん、ンゴーーを入れます。

array=[‘zudooon’,’bakyu—n’,’nngo—-‘]

その後、インデックスをランダムにします。

index=random.randrange(len(array))

で、リストの長さを使って乱数を発生します。

このように実行できました。

コードです。

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout

import random

array=[‘zudooon’,’bakyu—n’,’nngo—-‘]
index=random.randrange(len(array))

class YourApp(App):
    def build(self):
        layout=BoxLayout(orientation=’vertical’)
        b1=Button(text=’pochittona’)
        b2=Button(text=array[index])
        layout.add_widget(b1)
        layout.add_widget(b2)
        return layout


YourApp().run()

また、

layout=BoxLayout(orientation=’vertical’)

を、

layout=BoxLayout(orientation=’horizontal’)

とすることで、ボタンのレイアウトを横に変えることもできます。

最後に、同じフォルダ「koushiki3zenhan」の中に日本語フォントを置いてみます。

Googleフォントから好きな日本語フォントを持ってきて、フォントファイルの名前をわかりやすく変えて実行してみます。

やり方はNRさんという方の動画が分かりやすいです。

では、カスタマイズして実行してみます。

このようになりました。


後半はこちら

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Kivy公式サイトのチュートリアル2を作ってみた!(Hello World文字装飾)

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

上の本の、2章まで学んだ所で作れるアプリです。

Kivy公式テキストチュートリアル2

このアプリは「Hello World」のHelloを赤、Worldを緑に表示して、イタリックや文字を大きくしています。

エディタ Visual Studio Codeに書いていってターミナルで実行します。

「koushiki2」というフォルダを作って、その中に「main.py」というファイルにコードを書いていきます。

後で同じフォルダに日本語フォントを入れてカスタマイズします。

私は志村けんさんが好きなので、「変なおじさん」と表示されるようにします。

では、コードです。

from kivy.app import App
from kivy.uix.label import Label

class YourApp(App):
def build(self):
root_widget=Label(
font_size=100,
italic=True,markup=True)
root_widget.text='[color=#ff0000]Hello[/color][color=#00ff00]World! [/color]’
return root_widget

YourApp().run()

ターミナルに切り替えて、
「cd koushiki2」で「main.py」が入っているフォルダに移動し、
「python main.py」で実行します。

このように実行できました。

では、同じフォルダ「koushiki2」の中に日本語フォントを置いてみます。

Googleフォントから好きな日本語フォントを持ってきて、フォントファイルの名前をわかりやすく変えて実行してみます。

やり方はNRさんという方の動画が分かりやすいです。

では、カスタマイズして実行してみます。

このようになりました。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Kivy公式サイトのチュートリアル1を作ってみた!(Hello World)

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

上の本の、2章まで学んだ所で作れるアプリです。

Kivy公式テキストチュートリアル1

このアプリは「Hello World」と表示するだけの単純なアプリです。

エディタ Visual Studio Codeに書いていってターミナルで実行します。

「koushiki1」というフォルダを作って、その中に「main.py」というファイルにコードを書いていきます。

後で同じフォルダに日本語フォントを入れてカスタマイズします。

私は志村けんさんが好きなので、「だいじょぶだぁ」と表示されるようにします。

では、コードです。

from kivy.app import App
from kivy.uix.label import Label

class YourApp(App):
    def build(self):
        root_widget=Label(text=’Hello world!’)
        return root_widget

YourApp().run()

ターミナルに切り替えて、
「cd koushiki1」で「main.py」が入っているフォルダに移動し、
「python main.py」で実行します。

このように実行できました。

では、同じフォルダ「koushiki1」の中に日本語フォントを置いてみます。

Googleフォントから好きな日本語フォントを持ってきて、フォントファイルの名前をわかりやすく変えて実行してみます。

やり方はNRさんという方の動画が分かりやすいです。

では、カスタマイズして実行してみます。

このようになりました。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について