appdesigne​rで操作画面を拡大し​た時の拡大倍率につい​て

12 views (last 30 days)
s
s on 27 Oct 2023
Commented: s on 29 Oct 2023
①appdesingerで編集中でキャンパス画面上では、等間隔でサイズが同じでも、「実行」ボタンを押してアプリを立ち上げて、画面を拡大すると全体的なバランスが大きく崩れます。どうすれば上手く調整できるでしょうか。
キャンパス画面上
「実行」ボタンを押してアプリを立ち上げて、画面を拡大
「Button」の大きさがなぜか右側に配置したものが拡大されて、左側に配置したものは大きさが小さいままです。
②できれば、キャンパス画面上でも、もう少し大きく拡大した時を想定して編集したいのですが、することはできるのでしょうか。
ご存じの方いれば、教えていただけると大変助かります。

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 27 Oct 2023
上記によれば下記2つの方法が良さそうです。2つ目が便利そうですね。3つ目は面倒なのであまりお勧め出来ません。
【解説】
  • MATLABのApp Designer には自動サイズ変更動作が備わっており、デフォルトで有効になっています
  • 上記機能を改造する事は出来ない様です (実装されたコードを読む事も不可)
  • 上記機能を無効にすると、アプリのサイズを変更しても何も変わらなくなります
  • 上記機能を無効にした上、自分で'SizeChangedFcn' コールバック関数を書けば自由自在です
function startupFcn(app) % スタートアップイベントハンドラ関数
app.UIFigure.AutoResizeChildren = 'off'; % 自動調整有効(on)→無効(off)に設定
end
function mySizeChangedFcn(app, event) % ウインドウサイズ変更イベントハンドラ関数
position = app.UIFigure.Position; % 変更されたウィンドウの位置とサイズを取得
app.Button1.Position(1) = position(1) + position(3) / 4; % オブジェクトの位置やサイズを変更
% ...とかなんとか書いていく(賢いロジックを考えないと超めんどい)
end
  4 Comments
Atsushi Ueno
Atsushi Ueno on 28 Oct 2023
App Designer の設計ビューを拡大表示する機能は無い様です(少なくともR2017aには) 。
ですが、グリッドレイアウトを使えば編集時のアプリ画面(UI Figure)サイズを気にする必要は無いと思います。つまり初めから大きな画面上で編集作業を行えば良いのではないでしょうか?
私の使っているMATLABにはまだグリッドレイアウト機能 (uigridlayout 関数はR2018b で導入)が無く、使っている様子を見た事が無いのですが、おそらく編集時のアプリ画面(UI Figure)のサイズを変更すれば、配置されたコンポーネントの配置やサイズがそれに合わせてフィットすると思います。
s
s on 29 Oct 2023
ご返答ありがとうございます。設計ビューの画面で、右下の角をドラッグすることで拡大倍率を変更することができました。おかげさまで、レイアウトの問題を解消することができました。ご丁寧に教えていただきありがとうございました。いつもご丁寧に教えてくださり、本当に感謝しています。
よろしくお願いいたします。

Sign in to comment.

More Answers (0)

Categories

Find more on 起動と終了 in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!