2018年8月28日火曜日

optionMenuとoptionMenuGrpの違い

UI作成にQtが対応した頃から、ウィンドウコントロールの~Sliderみたいなコマンドに、~SliderGrpみたいな感じで末尾にGrpの付いたものが追加されました。
ラベルと入力フィールドが一気に作成できて、更に各幅なんかも微調整できたりして、なかなか便利なのです。

そんな~Grpコマンドの中で、optionMenuGrpの使い方にちょっとつまづいたのでメモ。



optionMenuはプルダウンメニューを作るコマンドで、

string $menu=`optionMenu -l "test" "test_optionMenu"`;
menuItem -l "testA";
menuItem -l "testB";
menuItem -l "testC";

みたいにすると、こんなのができます。


項目を追加する場合は、
setParent -m $menu;
menuItem -l "testD";

そして削除する場合には、
string $list[]=`optionMenu -q -ill $menu`;
deleteUI -mi $list;

こんな感じで編集していきます。

けれども、optionMenuGrpでは若干使用方法の違う部分があります。
削除のほうは同じ構文で問題ないのですが、メニュー項目の追加で違う部分が有るのです。

optionMenuGrpでは、
setParent -m $menu;
を実行しても
// Error: setParent: Object '~' not found.
と出て止まってしまいます。

で、コマンドヘルプを見てみると、下のほうに
//    Now add an additional item to the first option menu.
//
menuItem -parent ($colors + "|OptionMenu") -label "Blue";

みたいなサンプルが書かれています。
menuItemのほうで親を指定していますが、コレと同じような感じで

setParent -m ($menu+"|OptionMenu");

とすると今度は問題なく実行されました。
コマンドヘルプは最後までよく読まないといけませんね。

(ノ≧ڡ≦)てへぺろ


0 件のコメント:

コメントを投稿