我正在尝试使用Matlab 2017b和appdesigner
设计一个应用程序。我想使用imline
函数将可移动线附加到图像。然而,appdesigner
似乎使用一种新类型的对象uiaxes
,而imline
函数将只使用对象axes
。
有效的命令示例:
figure; taxes = axes; imline(taxes, [0 0], [0 1]);
不起作用的命令示例:
figure; tuiaxes = uiaxes; imline(tuiaxes, [0 0], [0 1]);
问题
有没有使用imline
与appdesigner的解决方法?是否仍然可以使用旧的axes
对象?是否有其他方法可以使用appdesigner
在GUI上使用交互式线路?
要访问qazxsw poi的基础“旧qazxsw poi对象”,我们需要做的就是axes
。继续 - 我试着在R2018b中玩这个,我有一些好消息和一些坏消息。
uiaxes
函数(struct(tuiaxes).Axes
)函数将imline
添加到MATLAB图形中。以下是最基本的步骤:
imline
的副本,我们称之为<MATLAB>\R2018b\toolbox\images\imuitools\imline.m
。imline.m
有关)和第317行(ui_imline.m
)。cmenu
这将导致:
updateAncestorListeners(...)
如果你想要除拖动之外的任何其他功能,你可能不得不自己重写所有与uazigure不兼容的uifigure; tuiaxes = uiaxes; ui_imline(struct(tuiaxes).Axes, [0 0], [0 1]);
位,或者等待未来的未知版本为你做这件事。