解像度の異なるディスプレイにおいてGUIの表示位置が変わるのはなぜですか?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MathWorks Support Team
il 21 Dic 2010
Modificato: MathWorks Support Team
il 23 Giu 2020
解像度の異なるディスプレイにおいてGUIDEで作成したGUIの表示位置が変わります。回避方法を教えてください。
Risposta accettata
MathWorks Support Team
il 23 Giu 2020
Modificato: MathWorks Support Team
il 23 Giu 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su 対話型コントロールとコールバック in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!