解像度の異なるディスプレイにおいてGUIの表示位置が変わるのはなぜですか?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 21 Déc 2010
Modifié(e) : MathWorks Support Team
le 23 Juin 2020
解像度の異なるディスプレイにおいてGUIDEで作成したGUIの表示位置が変わります。回避方法を教えてください。
Réponse acceptée
MathWorks Support Team
le 23 Juin 2020
Modifié(e) : MathWorks Support Team
le 23 Juin 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)
また、テキスト表示に使用されているフォントがインストールされていない環境で実行した場合、代替フォントでの表示により、レイアウトが崩れる場合があります。ロケールが異なるような環境で実行する場合には、できるだけ、日本語を使用しない、もしくは、一般的なフォントを使用するようにすることをお勧めします。
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 対話型コントロールとコールバック dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!