在MATLAB中将图像设为一个按钮

时间:2014-07-16 15:54:23

标签: matlab

我正在MATLAB中开发一个GUI,并且我试图允许用户点击图像以启用按钮,然后这个图像将像切换按钮一样改变,但我正在努力并且希望有一些建议,怎么办呢?

我已经看到你可以在MATLAB中的按钮上放置图标,并且你可以在点击时提取鼠标的位置,但我无法弄清楚这些是否有助于我的情况。我不想把图标放在按钮上,因为a)它不是我想要的外观和b)我希望能够根据按钮的状态改变图像。

由于

1 个答案:

答案 0 :(得分:0)

问题的关键是ButtonDownFcn。您需要将图像ButtonDownFcn设置为引用功能,它既可以更改显示的图像,也可以执行您需要执行的任何操作。因此,例如,假设您在操作函数中创建图像,如下所示:

...
yourImHandle = image(someImage);
set(yourImHandle, 'ButtonDownFcn', {@yourPushbuttonFcn, yourImHandle, otherVar});
...

yourPushbuttonFcn在其他地方被定义为:

function yourPushbuttonFcn(yourImageHandle, otherVar)
    set(yourImageHandle, 'CData', someOtherImage);
    otherVar=otherVar+1;                              %# Do other things.
end

这将为您更改图像,并为您设置平台,让您在按钮功能中执行其他更复杂的操作。如果您有任何疑问,请告诉我。

祝你好运。