八度更改UIControl位置

时间:2019-05-13 16:28:37

标签: octave uicontrol

以下是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中,我得到:错误:标量无法用进行索引。

要使其在Octave中运行,必须进行哪些更改?

1 个答案:

答案 0 :(得分:2)

MATLAB几年前推出了第二版手柄图形系统(HG2)。八度仍然使用旧系统。

每次看到handle.propery时,您就是在处理HG2。在原始系统中,我们使用了get(handle,'property')set(handle,'property',newvalue)。请注意,MATLAB不会在不久的将来弃用这种原始语法,将这两种形式与更新版本的MATLAB一起使用是完全有效的。因此,出于兼容性考虑,最好使用setget函数。

因此您可以替换

b.Position = [100 100 50 20];

使用

set(b,'Position',[100 100 50 20]);