Kivy備忘

Kivy使い方メモ

概要

  • PythonGUI作成ライブラリとしてKivyが注目されているのでやってみた
  • 実装はPythonではなく、hylangで行う

環境

App Version
Python 3.5.2
hylang 0.13.0

Install

作成メモ

デフォルトで読み込まれるkvファイル

Properties

  • Observer patternに該当する
  • kvファイルとのやり取りとか、メモリ管理とか色々やってくれるらしい
  • on_で値変更時のイベントが飛んでくるようになるらしい

KV File

  • 基本的に木構造な感じで作成していく
<LoginScreen>:  # Class Name
  GridLayout:   # Layout to the parent
    rows:       # Property of a layout
(defclass Main [App]
  ;; build()の戻り値がメインのルートになる
  (defn build [self]
    (setv (. self root) (apply Button {:text "BTN"})) ;; Buttonがルートになる
    (. self root)))

参考プログラム

Pong Game Tutorial

Kivyでテトリス

  • https://github.com/mmueller/tetrivy
  • PC上での操作性はもっと改良する必要がある気がする
  • マネして作ってみてイベント操作性とか改良してみると結構勉強になる

Tips

キーボード入力のやり方 (Windowクラス利用)

キーボード入力のやり方 (FocusBehaviorクラス利用)

Errors

"__no_builder"的なやつ

履歴

Date Notice
2017/11/12 初回作成