LoginSignup
3
6

More than 5 years have passed since last update.

Kivyを使ってアプリを作ろう(初歩の初歩から始めよう)

Posted at

はじめに

前回は、Kivyの環境を作るところまで、実施しました。
今回は実際に動く(?)ものを作ってみようかと思います

初めてのKivyアプリ

初めてと言ったらやっぱり"Hello World !!"ですよね。
っていうわけで、こんな感じに書きました。
なお、Pythonを使う人ならわかると思いますが、CやJava、PHPでいうところの{}はインデントになっています。
タブでインデントしてもいいのですが、インデント設定を変更できるエディタを使っているなら、半角スペース*4がおすすめです

hello_world_kivy.py

#-*- coding: utf-8 -*-

## Kivyの全機能を使う場合kivyライブラリをインポートします、ほしい機能だけの場合は機能ごとに呼びます
# import kivy

# UIのひな形となるkivy.appを読み込みます
from kivy.app import App

# ボタンラベルなどの機能(kivy.uix.label)
from kivy.uix.label import Label

#クラス生成
class IntroKivy(App):
    def build(self):
        return Label(text="Hello World !!")

#メイン
if __name__ == "__main__":
    IntroKivy().run()

  • 実行してみる
kivy hello_world_kivy.py

いろいろ、パーツを増やしてみよう

やっぱりGUIが作れるんだから、パーツをガシガシつけてみたいよねー
というわけで、使いそうなパーツをいろいろつけてみます

LoginDialog_kivy.py
#-*- coding: utf-8 -*-

from kivy.app import App

# ラベルなどの機能(kivy.uix.label)
from kivy.uix.label import Label

# ボタンなどの機能(kivy.uix.button)
from kivy.uix.button import Button

# パーツを配置する機能(kivy.uix.gridlayout)
from kivy.uix.gridlayout import GridLayout

# 入力ボックスを作る機能(kivy.uix.textinput)
from kivy.uix.textinput import TextInput

# システムフォントの指定す機能
from kivy.core.text import LabelBase, DEFAULT_FONT

# IPAフォントのttfを指定
LabelBase.register(DEFAULT_FONT, "ipagoth.ttf") 

class LoginScreen(GridLayout):
    #見慣れない**kwargsはARGSのことです。
    def __init__(self, **kwargs):

        super(LoginScreen, self).__init__(**kwargs)

        #カラムは2つ用意
        self.cols = 2

        self.add_widget(Label(text='ユーザ名'))
        self.username = TextInput(multiline=False)
        self.add_widget(self.username)

        self.add_widget(Label(text='パスワード'))
        self.password = TextInput(password=True, multiline=False)
        self.add_widget(self.password)

        self.add_widget(Label(text='トークン'))
        self.token = TextInput(password=false, multiline=False)
        self.add_widget(self.token)

#
class MyApp(App):
    def build(self):
        return LoginScreen()

if __name__ == '__main__':
    MyApp().run()
  • 実行してみる
kivy LoginDialog_kivy.py

実行してみわかりますが、レイアウトなんてこの状態だとあってないようなものです。
なので、次回は、画面をレイアウトするkvファイルについて解説していきます。

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6