EasyGUIを使用してRaspberryPiでシンプルなGUIを作成する
グラフィカルユーザーインターフェイスの追加(GUI)あなたに ラズベリーパイ プロジェクトは、データ入力用の画面、コントロール用の画面上のボタン、またはセンサーなどのコンポーネントからの読み取り値を表示するためのよりスマートな方法を含めるための優れた方法です。
この記事では、標準のRaspbianオペレーティングシステムを使用しています。
プロジェクトのインターフェースを作成する
RaspberryPiにはいくつかのGUIメソッドがあります。 ただし、ほとんどの場合、学習曲線は急です。
Tkinter Pythonインターフェースは、ほとんどの場合、デフォルトの頼りになるオプションかもしれませんが、初心者はその複雑さに苦労する可能性があります。 同様に、PyGameライブラリは、印象的なインターフェイスを作成する可能性を提供しますが、要件を超える可能性があります。
プロジェクトの迅速でわかりやすいインターフェイスを探している場合は、EasyGUIがその答えになる可能性があります。 グラフィックの美しさに欠けているものは、そのシンプルさと使いやすさで補う以上のものです。
この記事では、私たちが見つけた最も便利なオプションのいくつかを含む、ライブラリの概要を説明します。
EasyGUIのダウンロードとインポート
apt-get installメソッドを使用したことがあれば、ライブラリのインストールはおなじみです。 有線のいずれかを使用して、RaspberryPiでインターネット接続が必要です イーサネット また Wi-Fi 繋がり。
このコマンドは、ライブラリをダウンロードしてインストールします。 それはあなたがする必要があるすべてのセットアップです。
-
ターミナルウィンドウ(Piのタスクバーの黒い画面のアイコン)を開き、次のコマンドを入力します。
easyguiインポートから*
インポート時間このバージョンのインポートにより、後でコーディングが容易になります。 たとえば、この方法でインポートする場合、書く代わりに easygui.msgbox、使用できます msgbox.
-
最も単純な形では、これ メッセージボックス テキストの行とクリックする単一のボタンを提供します。 試してみる例を次に示します。 インポート行の後に次の行を入力し、を使用して保存します NS+NS:
easyguiインポートから*
インポート時間
msg = "クールボックスハァッ?"
title = "私はメッセージボックスです"
#ここに他のコマンドを追加メッセージボックスが表示され、 私はメッセージボックスです トップバーに書かれていて、 かっこいい箱ですね ボタンの上。
-
場合によっては、ユーザーがアクションを確認したり、続行するかどうかを選択したりする必要があります。 ccboxボックスは、上記のプライマリメッセージボックスと同じ行のテキストを提供しますが、2つのボタンを提供します。 継続する と キャンセル.
これは使用中の例で、続行ボタンとキャンセルボタンが端末に印刷されています。 ボタンを押すたびにアクションを変更して、好きなことを行うことができます。
easyguiインポートから*
インポート時間
msg = "続行しますか?"
title = "続行しますか?"
if ccbox(msg、title):#続行/キャンセルダイアログを表示
印刷「ユーザーが選択した続行」
#ここに他のコマンドを追加
else:#ユーザーがキャンセルを選択
「ユーザーがキャンセルしました」と印刷します
#ここに他のコマンドを追加 -
組み込みのボックスオプションで必要なものが得られない場合は、を使用してカスタムボタンボックスを作成します。 ボタンボックス 特徴。 これは、カバーする必要のあるオプションが他にもある場合や、UIを使用して多数のLEDやその他のコンポーネントを制御している場合に最適です。
注文のソースを選択する例を次に示します。
easyguiインポートから*
import time msg = "どのソースがいいですか?"
選択肢= ["マイルド"、 "ホット"、 "エクストラホット"]
reply = buttonbox(msg、choices = choices)if reply == "Mild":
返信を印刷
返信== "ホット"の場合:
返信を印刷
if reply == "Extra Hot":
返信を印刷 -
ボタンは素晴らしいですが、オプションの長いリストについては、 選択ボックス 理にかなっています。 これらのボックスには、使用可能なオプションが次々に行に表示されます。 NS わかった と キャンセル ボックスは横にあります。 これらはかなり賢く、オプションをアルファベット順に並べ替え、キーを押してその文字の最初のオプションにジャンプすることもできます。
これは、スクリーンショットで並べ替えられた10個の名前を示す例です。
easyguiインポートから*
インポート時間
msg = "誰が犬を追い出しましたか?"
title = "行方不明の犬"
選択肢= ["Alex"、 "Cat"、 "Michael"、 "James"、 "Albert"、 "Phil"、 "Yasmin"、 "Frank"、 "Tim"、 "Hannah"]
choice = choicebox(msg、title、choices) -
フォームは、プロジェクトのデータをキャプチャするための優れた方法です。 EasyGUIには multenterbox 情報を取得するためにラベル付きフィールドを表示できるオプション。
これは、フィールドにラベルを付けて入力をキャプチャする場合です。 以下の例は、簡単なジムメンバーシップサインアップフォームの例です。
EasyGUI Webサイトで詳細に説明されている、検証やその他の高度な機能を追加するオプションがあります。
easyguiインポートから*
インポート時間
msg = "メンバー情報"
title = "ジム会員フォーム"
fieldNames = ["First Name"、 "Surname"、 "Age"、 "Weight"]
fieldValues = []#開始値
fieldValues = multenterbox(msg、title、fieldNames)
fieldValuesを出力します -
最小限のコードを含めることで、EasyGUIインターフェイスに画像を追加できます。 EasyGUIスクリプトと同じディレクトリのRaspberryPiに画像を保存し、ファイル名と拡張子をメモします(たとえば、 image1.png).
例としてボタンボックスを使用する:
easyguiインポートから*
インポート時間
image = "RaspberryPi.jpg"
msg = "これはラズベリーパイですか?"
選択肢= ["はい"、 "いいえ"]
返信=ボタンボックス(メッセージ、画像=画像、選択肢=選択肢)
返信の場合== "はい":
「はい」と印刷
そうしないと:
「いいえ」を印刷
より高度な機能
学習したい量とプロジェクトに必要なものに応じて、利用可能なボックスオプションと例がさらにあります。
いくつか例を挙げると、パスワードボックス、コードボックス、ファイルボックスがあります。 これは、数分で簡単に入手できる多用途のライブラリであり、いくつかの優れたハードウェア制御の可能性もあります。
Java、HTMLなどの他のものをコーディングする方法を学びたい場合は、利用可能な最高のオンラインコーディングリソースを確認してください。