RaspberryPi

Kivyで顔認証アプリ制作②画面遷移編(画面切り替え)

Kivyで顔認証アプリ制作①基本操作編に引き続き、今回は必要に応じて画面を切り替える方法を取り扱っていきます。

作りたいもの

会社などで使えそうな、顔認証アプリです。

下のスライドが、実装後のイメージ図です。

前回まで

  • レイアウトはKivy 言語、機能はPythonで実装する
  • テキスト、ボタンWidgetの実装
  • 日本語フォントの適用

実際の画面遷移の様子

実際は、カメラ認証後に画面を切り替えたいのですがまだやり方が分かりません。

なので全てボタンで変わるようにしています。

画面遷移のソースコード

Python側のソースコードです。

長いですがやっていることは、表示するスクリーンのクラスを作成しているだけです。

transitionを変更することで、スクリーンが切り替わる際の設定を変更できます。以下のような種類があります。

  • CardTransition(): 横に滑るように遷移する(デフォルトはmode=’push’で右滑り)mode=’pop’は左滑り
  • FallOutTransition(): 後ろへ画面がフェードアウトする(duration=(.10)でフェードアウトの速度調整)
  • FadeTransition(): 画面がフェードアウトする (duration=(.10)でフェードアウトの速度調整)
  • NoTransition(): アニメーションなしで遷移する
  • RiseInTransition():後ろから前へ画面がフェードインする(duration=(.10)でフェードインの速度調整)
  • SlideTransition(): 横に回転しながら遷移する(duration=(.10)での速度調整)
  • SwapTransition(): 後ろへ小さくなりながら右からきた画面と交代するように遷移(duration=(.10)での速度調整)
  • WipeTransition(): 右から左へ波打つように遷移する(duration=(.10)での速度調整)

kvファイルです。

コードは長いですが、やっていることはいたってシンプルです。

  • Python側で各スクリーンに名前を付けておく
  • Kivy側でボタンが押された際にどの名前のスクリーンに移動するか決める
  • Kivy側で各スクリーンのレイアウトを整える

これで実装しようと思っているレイアウトの部分は完成しました!

あとは動画機能などを追加していけばできるはず......

今回はここまでです。ありがとうございました。

参考サイト

-RaspberryPi

© 2020 まきろぐ Powered by AFFINGER5