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

3 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 21 de Dic. de 2010
Editada: MathWorks Support Team el 23 de Jun. de 2020
解像度の異なるディスプレイにおいてGUIDEで作成したGUIの表示位置が変わります。回避方法を教えてください。

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 23 de Jun. de 2020
Editada: MathWorks Support Team el 23 de Jun. de 2020
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)
また、テキスト表示に使用されているフォントがインストールされていない環境で実行した場合、代替フォントでの表示により、レイアウトが崩れる場合があります。ロケールが異なるような環境で実行する場合には、できるだけ、日本語を使用しない、もしくは、一般的なフォントを使用するようにすることをお勧めします。

Más respuestas (0)

Categorías

Más información sobre 対話型コントロールとコールバック en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!