【问题标题】:No callbacks in MATLAB GUI?MATLAB GUI 中没有回调?
【发布时间】:2013-06-01 21:11:23
【问题描述】:

我目前正在编写一个 GUI 来显示机械手的信息,当我右键单击此 GUI 中的任何组件时,我似乎找不到回调函数。我已经制作了一些其他的 GUI,但我之前没有遇到过这个问题,而且我似乎无法在 Google 上找到有同样问题的人。

这是我的意思的一个例子:

有谁知道如何解决这个问题?

【问题讨论】:

  • 我不明白你的意思。 “回调”是什么意思?
  • 你能贴一张你找不到回调的图片吗?
  • 那么这个项目没有按预期运行有什么特别之处呢?
  • 谁说图形对象应该有一个“回调”函数?
  • 我同意@EitanT。如果您在回调函数中说明您想做什么,我们可能会提供帮助,或者您需要什么事件回调?

标签: matlab function user-interface callback matlab-guide


【解决方案1】:

您看到的三个回调(ButtonDownFcnCreateFcnDeleteFcn)是 MATLAB 中的三个 callback functions that all graphical objects 共享。 Callback 回调是活动界面对象所独有的,例如按钮。

当该对象发生相关事件时,将调用回调函数。您放入回调的代码取决于您希望它做什么。你想让你的图表响应鼠标左键单击吗?然后编码到ButtonDownFcn。你想让它回应别的东西吗?请选择适当的回调。

阅读更多信息here...

【讨论】:

  • 谢谢,这很有意义。我还有一个问题,我注意到当我单击 CreateFcn 时,会在 MATLAB 中创建一个新函数,例如 text12_CreateFcn。但是,当我尝试删除这个新函数并运行 GUI 时,我收到错误“使用 feval 时出错。未定义函数 'text12_CreateFcn' 用于输入参数类型为 'double'。”。你熟悉这个吗?
  • CreateFcn 在对象初始化时被调用。如果对象仍然存在,则不应删除它,只需将其留空即可。
  • 好的,但是当我更改组件的“Tag”属性时,CreateFcn 的名称并没有改变。这正常吗?
  • CreateFcn 是该属性的固定名称,无法更改。如果您需要在该对象显示在屏幕上之前初始化任何特定内容,您可以编码到该函数中。
  • 应该是可以的。 Tag 属性与 CreateFcn 无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-24
  • 1970-01-01
相关资源
最近更新 更多