【问题标题】:Octave Change UIControl Position八度更改 UIControl 位置
【发布时间】:2019-05-13 16:28:37
【问题描述】:

以下是来自 Matlab 的示例代码。它不在 Octave 中运行。代码是:

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 中运行?

【问题讨论】:

    标签: octave uicontrol


    【解决方案1】:

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

    每次看到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]);
    

    【讨论】:

    • 谢谢。这完美无缺。它在 Matlab 中也可以双向工作。
    • @kainaw 确实,旧的语法并没有被删除,在可预见的将来也不会被删除。我已经添加了一个句子来解决这个问题。
    猜你喜欢
    • 2018-05-12
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    相关资源
    最近更新 更多