八度更改 UIControl 位置
Posted
技术标签:
【中文标题】八度更改 UIControl 位置【英文标题】:Octave Change UIControl Position 【发布时间】: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 中运行?
【问题讨论】:
【参考方案1】: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]);
【讨论】:
谢谢。这完美无缺。它在 Matlab 中也可以双向工作。 @kainaw 确实,旧的语法并没有被删除,在可预见的将来也不会被删除。我已经添加了一个句子来解决这个问题。以上是关于八度更改 UIControl 位置的主要内容,如果未能解决你的问题,请参考以下文章
在 Objective-C 中,如何通过 UIControl 更改类内部实例的属性?