Октава Изменить положение UIControl - PullRequest
0 голосов
/ 13 мая 2019

Ниже приведен пример кода из Matlab. Это не работает в Октаве. Код:

f = figure;
b = uicontrol(f,'Style','pushbutton');
b.Position = [100 100 50 20];

Это из онлайн-документации: https://www.mathworks.com/help/matlab/ref/matlab.ui.control.uicontrol-properties.html

В Octave я получаю: error: скаляр не может быть проиндексирован.

Какие изменения необходимо внести, чтобы запустить этот пробег в Октаве?

1 Ответ

2 голосов
/ 13 мая 2019

MATLAB представила вторую версию графической системы с ручкой (HG2) пару лет назад.Octave по-прежнему использует старую систему.

Каждый раз, когда вы видите handle.propery, вы имеете дело с HG2.В оригинальной системе мы использовали get(handle,'property') и set(handle,'property',newvalue).Обратите внимание, что MATLAB не будет устаревать этот оригинальный синтаксис в ближайшее время, вполне допустимо использовать обе формы с более новыми версиями MATLAB.Таким образом, функции set и get предпочтительнее по соображениям совместимости.

Таким образом, вы можете заменить

b.Position = [100 100 50 20];

на

set(b,'Position',[100 100 50 20]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...