解像度の異なるディス​プレイにおいてGUI​の表示位置が変わるの​はなぜですか?

조회 수: 3 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2010년 12월 21일
편집: MathWorks Support Team 2020년 6월 23일
解像度の異なるディスプレイにおいてGUIDEで作成したGUIの表示位置が変わります。回避方法を教えてください。

채택된 답변

MathWorks Support Team
MathWorks Support Team 2020년 6월 23일
편집: MathWorks Support Team 2020년 6월 23일
GUI上にあるオブジェクトの 'Units' プロパティが 'pixels' や 'characters' などに指定されていると解像度やシステムフォントの違いによって大きさが変わる可能性があります。
環境に依存しないようにオブジェクトの位置を指定するには、各オブジェクトの 'Units' を 'Normalized' もしくは、'centimeters' などの絶対的な単位に設定します。
'Normalized'は、オブジェクトのサイズを基準とした 0~1 までの正規化した値です。
なお、各オブジェクトの 'Position' 等を設定している場合、'Units' を変更することで、当初のサイズと異なる可能性もありますので、ご注意ください。
GUIDE上で、全てのオブジェクトに対して、変更を適用する場合は、下記のように実行してください。
1. [メニュー] -> [編集]→[すべて選択] を選択し、全てのオブジェクトを選択した状態にします。
2. [表示]→[プロパティインスペクタ] から 'Units' を変更します。
panel 内にオブジェクトを含む場合などは、下記のようなコードを OpeningFcn コールバックに挿入することで、単位を一括変更できます。
structfun(@(x)set(x,'Units','normalized'), handles)
また、テキスト表示に使用されているフォントがインストールされていない環境で実行した場合、代替フォントでの表示により、レイアウトが崩れる場合があります。ロケールが異なるような環境で実行する場合には、できるだけ、日本語を使用しない、もしくは、一般的なフォントを使用するようにすることをお勧めします。

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 対話型コントロールとコールバック에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!