Raspberry Piプロジェクトにグラフィカルユーザーインターフェイス(GUI)を追加すると、データ入力用の画面、コントロール用のオンスクリーンボタン、またはセンサーなどのコンポーネントからの読み取り値を表示するスマートな方法を含めることができます。
01の10あなたのプロジェクトのためのインターフェイスを作る
ラズベリーパイにはさまざまなGUIメソッドが用意されていますが、ほとんどの場合は熟練した学習曲線があります。
TkinterのPythonインターフェイスはほとんどの場合、デフォルトの "go-to"オプションですが、初心者はその複雑さに苦しむ可能性があります。同様に、PyGameライブラリは印象的なインタフェースを作るためのオプションを提供しますが、要件に余裕があります。
あなたのプロジェクトのためのシンプルで迅速なインターフェースを探しているなら、EasyGUIが答えになるかもしれません。グラフィカルな美しさに欠けているのは、そのシンプルさと使いやすさを補うものではありません。
この記事では、私たちが見つけた最も有用なオプションのいくつかを含め、ライブラリの紹介をします。
続きを読む
02の10EasyGUIのダウンロードとインポート
この記事では、標準のRaspbianオペレーティングシステムを使用しています。
ライブラリをインストールするには、「apt-get install」メソッドを使用して、ほとんどの場合、使い慣れたプロセスになります。有線イーサネットまたはWiFi接続のいずれかを使用して、Raspberry Piにインターネット接続が必要です。
ターミナルウィンドウ(Piのタスクバーにある黒い画面のアイコン)を開き、次のコマンドを入力します。
apt-get install python-easygui
このコマンドを実行すると、ライブラリがダウンロードされ、インストールされます。 続きを読む EasyGUIは、その機能を使用する前にスクリプトにインポートする必要があります。これは、スクリプトの一番上に1行を入力することで実現され、使用するEasyGUIインターフェースオプションに関係なく同じです。 端末ウィンドウに次のコマンドを入力して、新しいスクリプトを作成します。 sudo nano easygui.py
空白の画面が表示されます。これは空のファイルです(nanoは単にテキストエディタの名前です)。 EasyGUIをスクリプトにインポートするには、次の行を入力します。 easyguiからのインポート*
この特定のバージョンのインポートを使用して、後でコーディングをさらに簡単にします。たとえば、これをインポートするときに、 'easygui.msgbox'と書くのではなく、単に "msgbox"を使うだけです。 次に、EasyGUIの主要なインターフェースオプションのいくつかについて説明します。 この「メッセージボックス」は、最も単純な形式で、ユーザーにテキスト行とクリックする単一のボタンを与えます。次の例を試してみてください。インポート行の後に次の行を入力し、 Ctrl + X: msgbox( "Cool Box huh?"、 "私はメッセージボックスです")
スクリプトを実行するには、次のコマンドを使用します。 sudo python easygui.py
メッセージボックスが表示されます。 私はメッセージボックスです トップバーに書かれています クールボックスハァッ? ボタンの上に 続きを読む 場合によっては、ユーザーが操作を確認するか、続行するかどうかを選択する必要があります。 "ccbox"ボックスは上記の基本メッセージボックスと同じテキスト行を提供しますが、2つのボタンを提供します - 持続する そして キャンセル. 使用中の例と、端末への印刷を続行するボタンとキャンセルボタンがあります。ボタンを押すたびにアクションを変更して、好きなことをすることができます: easyguiからのインポート*輸入時間msg = "続行しますか?"title = "続行?"if ccbox(msg、title):#Continue / Cancelダイアログを表示する 印刷 "ユーザーが選択して続行" #ここに他のコマンドを追加する else:#ユーザーがキャンセルを選択しました 印刷された「ユーザーがキャンセル」 #ここに他のコマンドを追加する 06の10 組み込みのボックスオプションで必要なものが得られない場合は、「ボタンボックス」機能を使用してカスタムのボタンボックスを作成できます。 これは、より多くのオプションをカバーする必要がある場合、またはUIを使用して多数のLEDやその他のコンポーネントを制御している場合に便利です。 オーダーのソースを選択する例を以下に示します。 easyguiからのインポート*import time msg = "あなたはどちらのソースを好きですか?"選択肢= 「マイルド」、「ホット」、「エクストラホット」reply == "マイルド"の場合、reply = buttonbox(msg、choices = choices): 返信を印刷するreply == "Hot"の場合: 返信を印刷するreply == "Extra Hot"の場合: 返信を印刷する
続きを読む ボタンは素晴らしいですが、長いリストのオプションの場合、「選択ボックス」は意味があります。箱に10個のボタンをつけてみてください。すぐに同意します! これらのボックスには、利用可能なオプションが次々に列に並び、「OK」および「キャンセル」ボックスが横に表示されます。彼らはアルファベット順にオプションを並べ替えるだけでなく、キーを押してその手紙の最初のオプションにジャンプすることもできます。 ここでは、スクリーンショットでソートされていることがわかる10の名前を示す例を示します。 easyguiからのインポート*輸入時間msg = "誰が犬を出すのですか?"タイトル= "Missing Dogs"選択肢= "Alex"、 "Cat"、 "Michael"、 "James"、 "Albert"、 "Phil"、 "Yasmin"、 "Frank"、 "Tim"、 "Hannah"choice = choicebox(msg、title、choices) 08の10 フォームはプロジェクトのデータをキャプチャするのに最適な方法です。EasyGUIには、情報をキャプチャするためのラベル付きのフィールドを表示できる「マルチエンターボックス」オプションがあります。 もう一度、フィールドにラベルを付けて入力をキャプチャする場合です。私たちは非常にシンプルなジム会員登録フォームの下で例を挙げました。 検証やその他の高度な機能を追加するオプションがあり、EasyGUI Webサイトで詳しく説明しています。 easyguiからのインポート*輸入時間msg = "メンバー情報"title = "ジムメンバーシップフォーム"fieldNames = "名"、 "姓"、 "年齢"、 "重量"fieldValues = #開始値fieldValues = multenterbox(msg、title、fieldNames)fieldValuesを出力する 続きを読む 非常に少量のコードを含めることで、EasyGUIインターフェイスに画像を追加することができます。 EasyGUIスクリプトと同じディレクトリにある画像をRaspberry Piに保存し、ファイル名と拡張子を書き留めます(たとえば、 image1.png ). ボタンボックスを例にしてみましょう: easyguiからのインポート*輸入時間image = "RaspberryPi.jpg"msg = "これはラズベリーパイですか?"choices = "はい"、 "いいえ"返信=ボタンボックス(msg、image = images、choices = choices)reply == "Yes"の場合: 印刷する "はい"else: 「いいえ」と印刷する 10の10 ここでは、基本的なEasyGUIの基本的なオプションを紹介していますが、学習する度合いやプロジェクトに必要なオプションや例がたくさんあります。 パスワードボックス、コードボックス、さらにはファイルボックスもあります。数分で簡単に取り出せる非常に汎用性の高いライブラリで、ハードウェアの制御も可能です。 Java、HTMLなどの他のものをコーディングする方法を学びたい場合は、利用可能なオンラインコーディングリソースを見てください。 EasyGUIのインポート
基本メッセージボックス
続行またはキャンセルボックス
カスタムボタンボックス
選択肢のボックス
データ入力ボックス
画像の追加
より高度な機能