EasyGUIを使用してラズベリーパイで簡単なGUIを作成する

Raspberry Piプロジェクトにグラフィカルユーザーインターフェイス(GUI)を追加すると、データ入力用の画面、コントロール用のオンスクリーンボタン、またはセンサーなどのコンポーネントからの読み取り値を表示するスマートな方法を含めることができます。

01の10

あなたのプロジェクトのためのインターフェイスを作る

EasyGUIはこの週末を試すための素早く簡単なプロジェクトです。 リチャードサヴィル

ラズベリーパイにはさまざまなGUIメソッドが用意されていますが、ほとんどの場合は熟練した学習曲線があります。

TkinterのPythonインターフェイスはほとんどの場合、デフォルトの 'go to'オプションになるかもしれませんが、初心者はその複雑さに苦しむことがあります。 同様に、PyGameライブラリは印象的なインタフェースを作るためのオプションを提供しますが、要件に余裕があります。

あなたのプロジェクトのためのシンプルで迅速なインターフェースを探しているなら、EasyGUIが答えになるかもしれません。 グラフィカルな美しさに欠けているのは、そのシンプルさと使いやすさを補うものではありません。

この記事では、私たちが見つけた最も有用なオプションのいくつかを含め、ライブラリの紹介をします。

02の10

EasyGUIのダウンロードとインポート

EasyGUIのインストールは 'apt-get install'メソッドで簡単です。 リチャードサヴィル

この記事では、ここで使用できる標準のRaspbianオペレーティングシステムを使用しています。

ライブラリをインストールするには、 'apt-get install'メソッドを使用して、ほとんどの場合、よく知られているプロセスになります。 有線イーサネットまたはWiFi接続のいずれかを使用して、Raspberry Piにインターネット接続が必要です。

ターミナルウィンドウ(Piのタスクバーにある黒い画面のアイコン)を開き、次のコマンドを入力します。

apt-get install python-easygui

このコマンドを実行すると、ライブラリがダウンロードされ、インストールされます。

03/10

EasyGUIのインポート

EasyGUIの読み込みには1行しかかかりません。 リチャードサヴィル

EasyGUIは、その機能を使用する前にスクリプトにインポートする必要があります。 これは、スクリプトの一番上に1行を入力することで実現され、使用するEasyGUIインターフェースオプションに関係なく同じです。

端末ウィンドウに次のコマンドを入力して、新しいスクリプトを作成します。

sudo nano easygui.py

空白の画面が表示されます。これは空のファイルです(nanoは単にテキストエディタの名前です)。 EasyGUIをスクリプトにインポートするには、次の行を入力します。

easyguiからのインポート*

この特定のバージョンのインポートを使用して、後でコーディングをさらに簡単にします。 例えば、このewayをインポートする場合、 'easygui.msgbox'と書くのではなく、単に 'msgbox'を使うだけです。

次に、EasyGUIの主要なインターフェースオプションのいくつかについて説明します。

04/10

基本メッセージボックス

簡単なメッセージボックスは、EasyGUIから始めるのに最適な方法です。 リチャードサヴィル

このメッセージボックスは、最も単純な形式で、ユーザーにテキスト行とクリックする単一のボタンを与えます。 次に、インポート行の後に次の行を入力し、Ctrl + Xを使用して保存する例を示します。

msgbox( "Cool Box huh?"、 "私はメッセージボックスです")

スクリプトを実行するには、次のコマンドを使用します。

sudo python easygui.py

メッセージボックスが表示され、上部のバーに「私はメッセージボックスです」と表示され、「クールボックス」と表示されます。 ボタンの上に

05の10

続行またはキャンセルボックス

[続行/キャンセル]ボックスでプロジェクトに確認を追加できます。 リチャードサヴィル

場合によっては、ユーザーが操作を確認するか、続行するかどうかを選択する必要があります。 'ccbox'ボックスは、上記の基本メッセージボックスと同じテキスト行を提供しますが、 '続行'と 'キャンセル'の2つのボタンを提供します。

使用中の例と、端末への印刷を続行するボタンとキャンセルボタンがあります。 ボタンを押すたびにアクションを変更して、好きなことをすることができます:

from easygui import * import time msg = "続行しますか?" title = "続行?" ccbox(msg、title):#続行/キャンセルのダイアログを表示するprint "ユーザーが続行する"#他のコマンドをここに追加する:#ユーザが印刷をキャンセルする "User canceled"#他のコマンドをここに追加する

06の10

カスタムボタンボックス

'ボタンボックス'を使用すると、カスタムボタンオプションを作成できます。 リチャード・サヴェル

組み込みのボックスオプションで必要なものが得られない場合は、 'ボタンボックス'機能を使用してカスタムボタンボックスを作成できます。

これは、より多くのオプションをカバーする必要がある場合、またはUIを使用して多数のLEDやその他のコンポーネントを制御している場合に便利です。

オーダーのソースを選択する例を以下に示します。

from easygui import * import time msg = "あなたはどちらのソースを好きですか?" reply == "マイルド"の場合:reply == "hot":返信が==の場合は、返信を行います。options = ["マイルド"、 "ホット"、 "エクストラホット" "余分なホット":返信を印刷する

07/10

選択肢のボックス

Choice Boxは長いアイテムリストに最適です。 リチャードサヴィル

ボタンは素晴らしいですが、長いリストのオプションの場合、「選択ボックス」は意味があります。 箱に10個のボタンをつけてみてください。すぐに同意します!

これらのボックスには、利用可能なオプションが次々に列に並び、「OK」および「キャンセル」ボックスが横に表示されます。 彼らはアルファベット順にオプションを並べ替えるだけでなく、キーを押してその手紙の最初のオプションにジャンプすることもできます。

ここでは、スクリーンショットでソートされていることがわかる10の名前を示す例を示します。

from easygui import * import time msg = "誰が犬を出すのですか?" "Miss"、 "Frank"、 "Tim"、 "Hannah"の選択肢があります。 = choicebox(msg、title、choices)

08の10

データ入力ボックス

'Multenterbox'を使用すると、ユーザーからデータを取得できます。 リチャードサヴィル

フォームはプロジェクトのデータをキャプチャするのに最適な方法です。EasyGUIには、情報をキャプチャするためのラベル付きのフィールドを表示できる「マルチエンターボックス」オプションがあります。

もう一度、フィールドにラベルを付け、単に入力をキャプチャする場合です。 私たちは非常にシンプルなジム会員登録フォームの下で例を挙げました。

検証やその他の高度な機能を追加するオプションがあり、EasyGUI Webサイトで詳しく説明しています。

from easygui import * import time msg = "メンバー情報" title = "ジムメンバーシップフォーム" fieldNames = ["名"、 "姓"、 "年齢"、 "体重"] fieldValues = []#開始値fieldValues = multenterbox (msg、title、fieldNames)フィールド値を出力する

09/10

画像の追加

あなたの箱にイメージを追加して、全く新しい方法でGUIを使用してください。 リチャードサヴィル

非常に少量のコードを含めることで、EasyGUIインターフェイスに画像を追加することができます。

EasyGUIスクリプトと同じディレクトリにある画像をRaspberry Piに保存し、ファイル名と拡張子(たとえばimage1.png)を記録します。

ボタンボックスを例にしてみましょう:

からeasygui import * import time image = "RaspberryPi.jpg" msg = "これはラズベリーパイですか? 返信== "はい"の場合:返信=ボタンボックス(msg、image = image、choices = choices): "はい"を印刷するelse:

10の10

より高度な機能

あなたはEasyGUIで支払いシステムを作ることはできませんが、面白いふりをすることができます! リチャードサヴィル

ここでは、基本的なEasyGUIの基本的なオプションについて説明しましたが、どれくらいの習得方法やプロジェクトに必要なのかによって、多くのボックスオプションとサンプルが用意されています。

パスワードボックス、コードボックス、さらにはファイルボックスもあります。 数分で簡単に取り出せる非常に汎用性の高いライブラリで、ハードウェアの制御も可能です。

Java、HTMLなどのような他のものをコーディングする方法を学びたい場合は、 オンラインで利用可能な最良のコーディングリソースがここにあります。