Kivy開発サイクル入門,Kivy 2.0
こんにちはDEVS、これは私がどのようにパイソンとKivyフレームワークでモバイルアプリケーションを開発する方法について書いている2番目の記事です.
前回私たちはKivyについて少し話しました、そして、我々はそれを他のモバイルフレームワークと比較することができました.また、フラッタと比較し、それ以上の貴重な利点を見た.
今日、我々は実際のKivyフレームワークの学習の第一段階を始めている.
Kivyの構造について話しましょう.
KivyはSDL 2、強力なCグラフィックスライブラリの上に構築されています.SDL 2 Cコードとその上に構築されたPythonコードの間のリンクは、Cythonを使用して構築されます.
Kivyプロジェクトフォルダには様々なPythonモジュールが含まれます.これらのモジュールのいくつかは抽象的であり、具体的なモジュールを実装するために使用されます.
と言われていますが、最も重要なのはKivyパッケージの主なモジュールです.アプリ UIX グラフィックス Lang 芯 のプロパティ 進行、それらは最適化されたアプリケーションを構築する必要がある唯一のモジュールではありません.しかし、彼らはKivyの任意のアプリケーションを構築中に欠場しない基本的な部分です.しかし、これらのモジュールに正確に何が含まれているかを調べましょう.
アプリのモジュールは、アプリケーションのクラスが含まれます.
App Classは、アプリケーションにユーザーの主なエントリポイントです.これは、ユーザーが対話するアプリケーションループ全体を実行します.次のようにアプリケーションクラスをインポートします
KIvyは、それがsdl 2、gstreamerと他の多くのように頼る若干の依存関係を始めます.読み込み処理が完了すると、いくつかのUI要素を構築することができます.
UIXモジュールは最大のKivyモジュールの一つです.これは、ボタン、ラベル、テキスト入力と多くの他のすべてのKivyのUI要素suchsの実装が含まれます.
UIXモジュールは小さな文字で書かれたサブモジュールを含んでいます.サブモジュールには、サブモジュールと同じ名前のクラスが含まれますが、最初の文字が大文字で表示されます.
例えば
ディスプレイ・ウィジェットは、ディスプレイ・ウィジェットが特定のパターンのディスプレイ・ウィジェットを編成する手段を提供する一方、ユーザーのスクリーンに物理的に現れるものである.
たとえば、Boxlayoutは垂直方向または水平方向にウィジェットを整理し、グリッドレイアウトは、行と列のウィジェットを整理し、他のレイアウトは、さまざまな方法でウィジェットを整理します.
どのように我々は単純なボタンを表示することができます見てみましょう.
ヒアゴーゴー
まず、我々は上記のように我々のアプリのクラスをインポートします.ただし、このクラスは抽象クラスです.つまり、サブクラスや子クラスで実装する必要のある“空”メソッドがあります.
これらの抽象的なメソッドの一つは、ビルドメソッドです.このメソッドは、実行されるKivyアプリケーションのルートウィジェットを返します.
私たちのビルドメソッドでは、私たちのディスプレイテキストとして“私の最初のボタン”と私たちのルートウィジェットとしてボタンウィジェットを返しました.
最後に、標準のデフォルト条件文を使用してスクリプトを実行し、ButtonAppのRunメソッドと呼びました.runメソッドは、実際にアプリケーションを抽象化したクラスで実装されます.
一度このスクリプトを実行すると、我々は全体のアプリケーションウィンドウを埋める大きな灰色のボタンを取得します.ボタンが押されたときに青に変わり、リリース時に灰色に戻る.
今日はこれです.私は、ちょうどあなたにキビィについて垣間見ることを与えました.それより確実に複雑になる.しかし、一度このフレームワークをマスター、あなたが構築するアプリは信じられないでしょう.
私たちは、時間が経つにつれて、残りのモジュールについて議論し続けるでしょう.しかし、今日のために、これは終わります
前回私たちはKivyについて少し話しました、そして、我々はそれを他のモバイルフレームワークと比較することができました.また、フラッタと比較し、それ以上の貴重な利点を見た.
今日、我々は実際のKivyフレームワークの学習の第一段階を始めている.
キーウィ・イン
Kivyの構造について話しましょう.
KivyはSDL 2、強力なCグラフィックスライブラリの上に構築されています.SDL 2 Cコードとその上に構築されたPythonコードの間のリンクは、Cythonを使用して構築されます.
Kivyプロジェクトフォルダには様々なPythonモジュールが含まれます.これらのモジュールのいくつかは抽象的であり、具体的なモジュールを実装するために使用されます.
と言われていますが、最も重要なのはKivyパッケージの主なモジュールです.
アプリ
アプリのモジュールは、アプリケーションのクラスが含まれます.
App Classは、アプリケーションにユーザーの主なエントリポイントです.これは、ユーザーが対話するアプリケーションループ全体を実行します.次のようにアプリケーションクラスをインポートします
from kivy.app import App
あなたが対話的にPythonを使用しているならば、あなたはWindowsKIvyは、それがsdl 2、gstreamerと他の多くのように頼る若干の依存関係を始めます.読み込み処理が完了すると、いくつかのUI要素を構築することができます.
京大理
UIXモジュールは最大のKivyモジュールの一つです.これは、ボタン、ラベル、テキスト入力と多くの他のすべてのKivyのUI要素suchsの実装が含まれます.
UIXモジュールは小さな文字で書かれたサブモジュールを含んでいます.サブモジュールには、サブモジュールと同じ名前のクラスが含まれますが、最初の文字が大文字で表示されます.
例えば
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
UIXモジュールのウィジェットはディスプレイウィジェットとレイアウトウィジェットに分けられます.ディスプレイ・ウィジェットは、ディスプレイ・ウィジェットが特定のパターンのディスプレイ・ウィジェットを編成する手段を提供する一方、ユーザーのスクリーンに物理的に現れるものである.
たとえば、Boxlayoutは垂直方向または水平方向にウィジェットを整理し、グリッドレイアウトは、行と列のウィジェットを整理し、他のレイアウトは、さまざまな方法でウィジェットを整理します.
我々がこれまで持っているものを使ってください
どのように我々は単純なボタンを表示することができます見てみましょう.
ヒアゴーゴー
from kivy.app import App
from kivy.uix.button import Button
class ButtonApp(App):
def build(self):
return Button(text = "my-first-button")
if __name__ == "__main__":
ButtonApp().run()
あなたがフレームワークに非常に新しいならば、このようにコードを見ることは少しあなたを捨ててしまうかもしれません.これは実際に読んで簡単なコードですが、それがどのように動作するかの質問は最も痛いです.ここで答えるようにしましょう.まず、我々は上記のように我々のアプリのクラスをインポートします.ただし、このクラスは抽象クラスです.つまり、サブクラスや子クラスで実装する必要のある“空”メソッドがあります.
これらの抽象的なメソッドの一つは、ビルドメソッドです.このメソッドは、実行されるKivyアプリケーションのルートウィジェットを返します.
私たちのビルドメソッドでは、私たちのディスプレイテキストとして“私の最初のボタン”と私たちのルートウィジェットとしてボタンウィジェットを返しました.
最後に、標準のデフォルト条件文を使用してスクリプトを実行し、ButtonAppのRunメソッドと呼びました.runメソッドは、実際にアプリケーションを抽象化したクラスで実装されます.
一度このスクリプトを実行すると、我々は全体のアプリケーションウィンドウを埋める大きな灰色のボタンを取得します.ボタンが押されたときに青に変わり、リリース時に灰色に戻る.
結論
今日はこれです.私は、ちょうどあなたにキビィについて垣間見ることを与えました.それより確実に複雑になる.しかし、一度このフレームワークをマスター、あなたが構築するアプリは信じられないでしょう.
私たちは、時間が経つにつれて、残りのモジュールについて議論し続けるでしょう.しかし、今日のために、これは終わります
Reference
この問題について(Kivy開発サイクル入門,Kivy 2.0), 我々は、より多くの情報をここで見つけました https://dev.to/htthomas/introduction-to-the-kivy-development-cycle-kivy-2-0-h02テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol