电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

如何在Matlab中的用户界面中取得鼠标坐标

如何在Matlab中的用户界面中取得鼠标坐标_第1页
1/6
如何在Matlab中的用户界面中取得鼠标坐标_第2页
2/6
如何在Matlab中的用户界面中取得鼠标坐标_第3页
3/6
如何在Matlab中创建用户界面(GUI)的相关帮助请参见:MATLAB-->Creating Graphical User Interfaces 下面举例如何在用户界面中取得鼠标点击时的坐标。 1. 创建一个简单的GUI a) 在MATLAB 命令行敲入“guide”,可以看到下面的对话框 b) 选择 GUI with Axes and Menu 后,点击“OK”。 c) 将它另存为TestFig.fig d) 此时MATLAB 会自动生成一个TestFig.m 文件,回头我们要修改其中的代码,现在先不管它。 e) 回到 TestFig.fig 界面,可以点击右上角的绿色三角按钮,看看运行情况。 2. 为按钮设置被点击后执行的代码 a) 找到点击Update 按钮后执行的代码:用鼠标右击Update 按钮后,选择View CallbacksCallback。 此时MATLAB 自动定位到该按钮被按下后执行的代码处。 b) 我们现在修改掉原来的行为,变成记录下用户每次点击鼠标的坐标(用 ginpu t 这个函数可以获得鼠标的坐标),并在界面上画出每个点。 i. 我们首先删除这些代码(或者用百分号%注释掉这些代码) popup_sel_index = get(handles.popupmenu1, 'Value'); switch popup_sel_index case 1 plot(rand(5)); case 2 plot(sin(1:0.01:25.99)); case 3 bar(1:.5:10); case 4 plot(membrane); case 5 surf(peaks); end ii. 然后在cla;这句代码后面加上下面的代码 % we use points[x, y] to store each point points = []; pointNum = 0; % we want to show all points on the same fig hold on; % we also want to fix the region in which points are located axis([0 1 0 1]); % 1,2,3 means left, middle, right mouse button is clicked button = 1; while(button ~= 3) % user use right click to input the last point % use ginput to get graphical input from mouse [x, y, button] = ginput(1); % plot the point plot(x,y,'bo'); % save pointNum = pointNum + 1; points(pointNum, :) = [x y]; end disp(['These points are stored:']); disp(points); 完成后像这个样子 c) 现在可以测试一下看看了,点击绿色小三角后,先点击Update 按钮,然后用鼠标左键点击界面画点,用右键输入最后一个点。并且可以在MATLAB 的命令行窗口看到程序输出的所有点的坐标。 3. 其他问题 a) 如果要运行程序,在MATLAB 命令行窗口输入”TestFig”即可。 b) 如果要调出界面窗口并修改之,在MATLAB 命令行窗口输入”guide”后打开”TestFig.fig”文件即可。 c) 由于我们直接删除了部分代码,关闭程序的时候可能会提示错误。 剩下的工作就看你们的了。

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

如何在Matlab中的用户界面中取得鼠标坐标

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部