Я обновляю свой общий графический интерфейс для обработки данных, и я думал, что воспользуюсь uitable
вместо списка uicontrol
, чтобы отобразить пути и имена файлов загруженных файлов. Я заметил, что заголовки столбцов по умолчанию по умолчанию, и я не могу понять, как их выровнять, если имя файла длиннее ширины таблицы. Я проверил свойства, возвращенные get
, и ткнул с findjobj
, но не нашел ничего очевидного. Моя попытка использовать строку html также не увенчалась успехом.Изменение выравнивания заголовка заголовка?
Я пропустил что-то очевидное?
Пример кода:
function testcode
res = get(0,'ScreenSize');
figdim = [1280 720]; % Main figure size, pixels
handles.mainfig = figure(...
'Units', 'Pixels', ...
'Position', [(res(3) - figdim(1))/2 (res(4) - figdim(2))/2 figdim(1) figdim(2)], ...
'Name', 'Meep', ...
'Resize', 'off', ...
'DockControls', 'off', ...
'NumberTitle', 'off', ...
'Toolbar', 'figure' ...
);
handles.filetable = uitable(...
'Parent', handles.mainfig, ...
'Units', 'normalized', ...
'Position', [0.038 0.71 0.235 0.1], ...
'ColumnName', 'File Loaded', ...
'Data', {'None'} ...
);
handles.loadfilebtn = uicontrol(...
'Parent', handles.mainfig, ...
'Style', 'pushbutton', ...
'Units', 'normalized', ...
'Position', [0.075 0.85 0.16 0.07], ...
'String', 'This is a Button, Click', ...
'Callback', {@abutton} ...
);
guidata(handles.mainfig, handles);
end
function abutton(hObject,~)
handles = guidata(hObject);
filepath = 'C:\folder\folder\folder\folder\folder\folder\folder\folder\folder\superduperreallylongfilename.fileextension';
set(handles.filetable,'Data',{filepath});
set(handles.filetable,'ColumnWidth',{length(filepath)*5});
test = '<html><left />File Loaded</html>';
set(handles.filetable,'ColumnName',test); % Attempt #1, doesn't work
end
Я не могу вспомнить, когда увидел такой хороший пример кода минимального кода для вопроса gui! +1 – thewaywewalk