UndocumentedMatlabで最近公開された記事では、 App Designerの図は実際にはDojo Toolkitを使用した Web ページであると述べています。これは、理論的にはHTML DOM を直接操作して、他の方法では利用できない特定の UI カスタマイズを実現できることを意味します。
以下は、.m
(MATLAB R2016a で) App Designer によって生成されたファイルに表示される、App Designer の Figure 定義の例です。
classdef domDemo < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure % UI Figure
LabelListBox matlab.ui.control.Label % List Box
ListBox matlab.ui.control.ListBox % Item 1, Item 2, Item 3, It...
end
methods (Access = private)
% Code that executes after component creation
function startupFcn(app)
end
end
% App initialization and construction
methods (Access = private)
% Create UIFigure and components
function createComponents(app)
% Create UIFigure
app.UIFigure = uifigure;
app.UIFigure.Position = [100 100 260 147];
app.UIFigure.Name = 'UI Figure';
setAutoResize(app, app.UIFigure, true)
% Create LabelListBox
app.LabelListBox = uilabel(app.UIFigure);
app.LabelListBox.HorizontalAlignment = 'right';
app.LabelListBox.Position = [50 93 44 15];
app.LabelListBox.Text = 'List Box';
% Create ListBox
app.ListBox = uilistbox(app.UIFigure);
app.ListBox.Position = [109 36 100 74];
end
end
methods (Access = public)
% Construct app
function app = domDemo()
% Create and configure components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.UIFigure)
% Execute the startup function
runStartupFcn(app, @startupFcn)
if nargout == 0
clear app
end
end
% Code that executes before app deletion
function delete(app)
% Delete UIFigure when app is deleted
delete(app.UIFigure)
end
end
end
...次のようになります。
のドキュメント(完全なプロパティ リストについては、チェック ボックス プロパティuilistbox
のページにリダイレクトされます) によると、リスト項目のテキスト配置などを操作する方法はありません。もしそうなら、
質問: サンプル アプリで を操作して、コンテンツが中央揃えになるようにするにはどうすればよい
ListBox
ですか? そのような設定は使用できません。