[GUIの練習] 電卓アプリ

Scilab GUI Designer」というWebページにあった「Example 2 : Calculator」を参考に、ScilabでのGUIの練習をしてみます。

(ほとんど“翻訳”になってしまうかもしれませんが‥‥)


Calculator

仕様:

単純なScilabのベースの電卓のUIを開発します:

  • 0から9までの数字のための10のボタン
  • 数値の加算、減算、乗算、除算のための4つのボタン
  • 括弧のための2つのボタン
  • バックスペースボタン
  • クリアボタン
  • 計算結果が表示される編集フィールド
  • 履歴を保持するためのコンボボックス(ポップアップメニュー)

電卓ユーザーインターフェイスを作成:

  •  新しいフォームを作成し、それに「Calculator」と名付ける
  • そのサイズ変更プロパティを Falseにセットする
  • 10個の数字に対応する10のプッシュボタンを挿入する。その表示テキストを対応する数字に変更する
  • 数値演算のための4つのプッシュボタン(+、-、*、/)を挿入する
  • 括弧のための2つのプッシュボタンを挿入する
  • 計算のための文字列を含める編集フィールドを挿入する
  • 上記編集フィールドの1文字をクリアするためのプッシュボタン(<-)を挿入する
  • 上記編集フィールドをクリアするためのプッシュボタン(C)を挿入する
  • 計算を始めてその結果を上記編集フィールドに表示するためのプッシュボタン(=)を挿入する
  • 有効な計算の履歴を保持するポップアップメニューを挿入する
  • 上のようにすべてのUI要素を並べ替える

ソリューションを作成する:

 

生成されたUIデザイナのコードが期待通りに動作するかどうかを確認する最も簡単な方法は、新しいScilabのソリューションにそれを含め、Scilabで実行してみることです。次のようにします:

  • 新しくソリューションを作成する
  • ソリューションファイルのリストから上記のデザイナーコード(form_Calculator.scedesign)ファイルを加える
  • 「Scilabで実行」ボタンを押す
  • 生成されたScilabのUIに満足いかなければ、対応するUI要素を変更する
  • UIを保存して、もう一度「Scilabで実行」する
  • ScilabのUI出力に満足いくまで、上記 2つの手順を繰り返す

次のステップは、そのソリューションの前(または後)に小さなヘルパー関数を記述することです。このヘルパー関数は、押されたボタンに基づいて編集フィールドに適格なテキストを追加するために使用されます。次のコードをコピーして貼り付けます。適当なフォルダに「scilab_solution.sce」としてこのソリューションを保存します。

 

function appendToTextbox(ch)

    str = get(editbox1_Calculator,"String");

    newstr = str + ch;

    set(editbox1_Calculator,"String", newstr)

endfunction