MATLAB的GUI中有鼠标经过触发的功能么?
可以的,我做过,将鼠标放在“输入区间深度”的按钮上方时,可以使得按钮下方的文本框显示提示信息(如图所示)。思路是:获取按钮的position属性,再对GUI窗体的WindowButtonMotionFcn( 控制鼠标移动时所执行的操作)进行设置。
具体代码如下,仔细看看就能理解啥意思的,希望对你有所帮助:
% 1.获取按钮坐标值,以mm表示
global mm
mm = get(handles.inputdepth,'position');
% 2.设置窗体WindowButtonMotionFcn的属性
function figure1_WindowButtonMotionFcn(hObject, eventdata, handles)
% 在输入深度按钮中添加注释信息,提醒按照要求输入深度
global mm
aa = mm(1)+mm(3);
bb = mm(2)+mm(4);
pos = get(gcf,'currentpoint');
if (pos(1,1)>mm(1)&pos(1,1)<aa)&&(pos(1,2)>mm(2)&pos(1,2)<bb)
set(handles.text6,'String','提示:请根据深度范围选择区间深度!');
set(handles.text6,'HorizontalAlignment','left');
set(handles.text6,'FontSize',0.35);
set(handles.text6,'ForegroundColor',[1.0 0.0 0.0]);
set(handles.text6,'Position',[0.209 0.821 0.116 0.046]);
else
set(handles.text6,'String','');
end
PS:关于Matlab GUI 鼠标事件的介绍有很多,给你几个不错的链接,自己学习吧:
(1)Matlab GUI 鼠标事件
http://blog.sina.com.cn/s/blog_544233cf0100fdxd.html
(2)Matlab鼠标控制的两个GUI例子(附代码)
http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=52133
(3)如果没有matlab论坛的账号可以在这里查看:
http://blog.renren.com/share/264280477/6243009096
建议有matlab的问题可以到matlab论坛查找方法和思路,论坛资料很丰富的,几乎所有的问题都能得到解答:
读取按钮坐标的时候是添在哪个里面啊?为什么我显示??? Attempted to access mm(1); index out of bounds because numel(mm)=0.呢?
text6是要添加一个text的控件么?
可以给我一个具体的例子么?谢谢!
好的,稍等,我写好了附件给你。