欢迎来到天天文库
浏览记录
ID:38061847
大小:220.50 KB
页数:6页
时间:2019-05-24
《如何在Matlab中的用户界面中取得鼠标坐标》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、如何在Matlab中创建用户界面(GUI)的相关帮助请参见:MATLAB-->CreatingGraphicalUserInterfaces下面举例如何在用户界面中取得鼠标点击时的坐标。1.创建一个简单的GUIa)在MATLAB命令行敲入“guide”,可以看到下面的对话框b)选择GUIwithAxesandMenu后,点击“OK”。a)将它另存为TestFig.figb)此时MATLAB会自动生成一个TestFig.m文件,回头我们要修改其中的代码,现在先不管它。c)回到TestFig.fig界面,可以点击右上角的绿色三角按钮,看看运行情况。1.为按钮
2、设置被点击后执行的代码a)找到点击Update按钮后执行的代码:用鼠标右击Update按钮后,选择ViewCallbacksàCallback。此时MATLAB自动定位到该按钮被按下后执行的代码处。a)我们现在修改掉原来的行为,变成记录下用户每次点击鼠标的坐标(用ginput这个函数可以获得鼠标的坐标),并在界面上画出每个点。i.我们首先删除这些代码(或者用百分号%注释掉这些代码)popup_sel_index=get(handles.popupmenu1,'Value');switchpopup_sel_indexcase1plot(rand(5));
3、case2plot(sin(1:0.01:25.99));case3bar(1:.5:10);case4plot(membrane);case5surf(peaks);endii.然后在cla;这句代码后面加上下面的代码%weusepoints[x,y]tostoreeachpointpoints=[];pointNum=0;%wewanttoshowallpointsonthesamefigholdon;%wealsowanttofixtheregioninwhichpointsarelocatedaxis([0101]);%1,2,3meanslef
4、t,middle,rightmousebuttonisclickedbutton=1;while(button~=3)%useruserightclicktoinputthelastpoint%useginputtogetgraphicalinputfrommouse[x,y,button]=ginput(1);%plotthepointplot(x,y,'bo');%savepointNum=pointNum+1;points(pointNum,:)=[xy];enddisp(['Thesepointsarestored:']);disp(points
5、);完成后像这个样子a)现在可以测试一下看看了,点击绿色小三角后,先点击Update按钮,然后用鼠标左键点击界面画点,用右键输入最后一个点。并且可以在MATLAB的命令行窗口看到程序输出的所有点的坐标。2.其他问题a)如果要运行程序,在MATLAB命令行窗口输入”TestFig”即可。b)如果要调出界面窗口并修改之,在MATLAB命令行窗口输入”guide”后打开”TestFig.fig”文件即可。c)由于我们直接删除了部分代码,关闭程序的时候可能会提示错误。剩下的工作就看你们的了。
此文档下载收益归作者所有