나는 이미 Matlab Answers에 대해 질문했지만 응답을받지 못했습니다. 그래서 여기에서 시도해 보겠습니다.앱 디자이너에서 UITable의 값을 오른쪽으로 정렬
나는 내가보기 싫은 몇 가지 숫자가있다. 특정 형식의 값 (쉼표 뒤에 3 자리, 과학 표기법 없음)이 필요하므로 값을 문자열로 변환했습니다. 문제는이 문자열이 기본적으로 왼쪽 맞춤으로되어있어별로 좋지 않다는 것입니다.
가이드에 UITable를 사용하는 경우, I는 그 오른쪽 표의 모노 스페이스 폰트를 사용data = {'1532.000'; ' 5.543'; ' 26.457'};
다음, 값은 다음과 같이 나타낸다에서처럼 정렬 얻을 공간 선도 패드 문자열 수 있었다
:
1532.000
5.543
26.457
현재 저는 App Designer로 전환하는 것을 고려하고 있습니다. 나는 같은 스페이스 패딩 된 스트링을 사용하고 있지만 여기서는 uitable가 스트립을 제거하는 것으로 보인다. 즉, 결과는 다음과 같습니다이다 :
1532.000
5.543
26.457
이 가이드에서처럼 공간을 유지하는 응용 프로그램 디자이너에서 uitable
을 만들 수있는 방법이 있나요? 물론 패딩을 사용하지 않고 문자열을 직접 오른쪽 정렬하는 것이 더 좋을 수도 있지만 이것이 불가능하다는 것을 알고있는 한.
중요한 경우 : 저는 Matlab R2016b를 사용하고 있습니다.
편집 : 생성하고 UITable를 채우기
최소 예. 이것은 단순한 AppDesigner GUI로 테이블과 버튼 만 추가했습니다 (속성을 수정하지 않고). 버튼의 클릭 콜백은 데이터를 테이블에 추가하는 데 사용됩니다. AppDesigner은 나를 ButtonPushed
함수 내에서 코드를 수정 할 수 있다는
참고 : 다음과 같이
classdef test < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
UITable matlab.ui.control.Table
Button matlab.ui.control.Button
end
methods (Access = private)
% Button pushed function: Button
function ButtonPushed(app, event)
data = {'1532.000'; ' 5.543'; ' 26.457'};
app.UITable.Data = data;
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 640 480];
app.UIFigure.Name = 'UI Figure';
setAutoResize(app, app.UIFigure, true)
% Create UITable
app.UITable = uitable(app.UIFigure);
app.UITable.ColumnName = {'Column 1'; 'Column 2'; 'Column 3'; 'Column 4'};
app.UITable.RowName = {};
app.UITable.Position = [127 180 302 185];
% Create Button
app.Button = uibutton(app.UIFigure, 'push');
app.Button.ButtonPushedFcn = createCallbackFcn(app, @ButtonPushed, true);
app.Button.Position = [220 104 100 22];
end
end
methods (Access = public)
% Construct app
function app = test()
% Create and configure components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.UIFigure)
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
버튼을 누른 후 테이블이 보인다.
[이 해결책] (http://stackoverflow.com/questions/38933254/how-to-customize-app-designer-figures-in-more-ways-than-officially-documented)을 너의 요구? 당신이 묻는 것은 거의 동일합니다. 유일한 차이점은 당신이 테이블에 대해 물어 보는 것이고, 링크 된 질문은리스트를 다루는 것입니다 ... 어떤 경우 든, 질문에 'uifigure'를 생성하는 최소한의 코드를 추가하십시오. –
@ Dev-iL 고마워, 정말 유망 해 보인다. 이번 주에 시간을 보낼 수 있는지 확실하지 않지만 시간이 지나면 할 것입니다. 나는 그것을 시도했을 때보고한다. – luator
@ Dev-iL 예상보다 일찍 시간을 발견했습니다. 최소한의 예가 질문에 추가됩니다. 나는 또한 시도했지만 불행히도 테이블을 다르게 처리 할 것으로 보인다 때 브라우저에서 열 때 (다른 모든 요소가 있습니다). – luator