声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1090|回复: 1

[GUI界面] 请教大家一个GUI中数据传输的问题

[复制链接]
发表于 2009-3-20 10:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
1、首先建立axes1和Push button键
  2、然后点击Push button获取鼠标移动的实时坐标
     function pushbutton1_Callback(hObject, eventdata, handles)
      global mouse_posx mouse_posy  
      axes(handles.axes1);
      set (gcf, 'WindowButtonMotionFcn', @mouseMove);
      [mouse_posx mouse_posy ]  %%%鼠标坐标不能传递过来
  3、通过mouseMove函数实现图像中鼠标坐标的追踪(设移动过程中鼠标的实时坐标为[mouse_posx, mouse_posy])
     function mouseMove (object, eventdata)
      global mouse_posx mouse_posy  
      mouse_pos = get (gca, 'CurrentPoint');
      mouse_posx=mouse_pos(1,1);
      mouse_posy=mouse_pos(1,2);  %%%鼠标坐标能够实时采集
  4、  最后将获取的鼠标移动坐标传输到Push button中
  现在在mouseMove中能够获取鼠标的实时坐标,但是在Push button中数据没有传递过去,在这两个函数中我都把鼠标坐标设为全局变量了,但是怎么没有实现数据传递呢?
回复
分享到:

使用道具 举报

发表于 2009-10-11 09:37 | 显示全部楼层
1、在主程序面板打开新的子面板的pushbutton控件的相应函数里面将你要传递的数据变量以如下格式传递给新的面板:新函数名(变量),这样就可以在另一个面板获得这个变量。
2、在新的fig中获得变量的方法如下:在新的fig中有个OpeningFcn函数,是自动生成的。其中有个变量varargin就是你要传递的变量,可以直接提取出来。
3、如果是多个变量需要传递,可以使用结构体的方式传递。例如:变量.a     变量.b     变量.c,取出时使用varargin{1},varargin{2},varargin{3}即可一一取出。

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-6-25 15:07 , Processed in 0.084792 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表