问题标签 [matlab-guide]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
425 浏览

matlab - 如何使用由其他不同的 .fig 文件在 .fig 文件中创建的面板?

我有两个不同的文件,myguide.fig(及其对应的 mygui.m)包含 uitabgroup 的定义和文件 caract.fig(及其对应的 caract.m)包含一个面板。我从文件 myguide.m 中调用文件 caract.m 并获取面板的句柄。然后我更改面板的 Parent 属性以将其分配给 uitabgroup 的选项卡之一。我只有在第一次运行 myguide 时才实现这一点(将 caract.fig 的可见性属性设置为关闭)。如果我再次尝试运行它,我会收到返回面板句柄的错误消息“无效句柄对象”。我不明白发生了什么。

0 投票
1 回答
929 浏览

user-interface - 如何从其他功能访问我的 GUIDE 图上的控件?

我正在为我的项目GUIDE创建一个。GUIMATLAB

在我的一个按钮回调中,我调用了一个函数。

在收到该函数的输出后,我将名称标签设置为 Name 的值。是否可以从函数内部进行设置?我必须做什么才能允许该功能访问 GUIData?

我曾尝试从该函数内部使用 set/get,但我似乎无法让它工作。

或者,无论如何我可以让“句柄”在全球范围内可用?

0 投票
1 回答
4575 浏览

user-interface - 由使用 Matlabs 指南构建的 GUI 的回调共享的变量

我有点在 Matlab 中发现 GUI 开发,并且我正在尝试一些基本概念的困难。如果有人可以帮助我,我将非常感激。

我正在尝试使用 matlab 'guide' 构建一个 GUI,而我所要做的只是将图像加载到轴中,我想将其保存到某个全局变量中,该变量将由我的 GUI 中的所有回调共享,这样我可以在其他事件处理程序上处理此图像。

我很难找到一种方法来做到这一点,我试图将一些变量声明为“全局”,但它没有奏效。你能解释一下它是如何工作的,或者举一个简短的例子。谢谢

0 投票
1 回答
441 浏览

function - 在 GUI 的回调上使用函数

我正在使用 GUIDE 创建一个界面,其中单击按钮时将执行函数 [x,y]=function(a,b,c,d)。我有问题让这个工作。GUIDE 使用语法 varargout = LineasA(varargin) 创建一个自动生成的函数。

我使用这种语法 [x,y]=LineasA(a,b,c,d) 调用 GUI。

我得到的错误是:

0 投票
3 回答
9735 浏览

user-interface - 在 MATLAB 中,如何在拖动滑块时执行回调?

我使用 GUIDE 创建了一个 MATLAB GUI。我有一个带有回调函数的滑块。我注意到这个回调,它应该在滑块移动时执行,实际上只有在滑块移动并释放鼠标后才会运行。

有没有办法让脚本在拖动滑块时运行,以实时更新情节?我认为需要一些东西来阻止脚本运行太多次。

0 投票
1 回答
3815 浏览

user-interface - 如何将 getframe() 与 MATLAB GUIDE (GUI) 对象一起使用来制作电影?

我想使用getframe来截取我使用GUIDE创建的漂亮 GUI 对象的屏幕截图。我不能只使用 OS PrintScreen 功能,因为我需要为 GUI 窗口中发生的事情制作电影,即捕获数千帧。

然而,由于 GUIDE 对象显然不是一个正常的图形(这可以通过 getframe(gcf) 来演示,它会愉快地打开一个新的、空的“图 1”窗口),我不知道我可以使用什么句柄getframe() 捕获我的 GUI 窗口的内容。

有任何想法吗?

0 投票
1 回答
162 浏览

user-interface - Matlab GUI 的管理按钮

我必须维护一个大型的 MATLAB GUI,其中包含相当多的回调函数,每个回调函数都在很多点被调用。在某个时候,我决定重命名其中一个回调;为了不必通过 GUIDE 手动修改调用它的每个 UI,我使用出色 gencode的程序“解包”.fig 文件s/old_name/new_name/g,并重新创建 .fig。

这似乎运作良好,除了一件事:单击按钮组中的按钮时,我收到一条消息,告诉我该功能manageButtons未知。经过一番谷歌搜索,我发现这manageButtons是一个嵌套函数childAddedCbk,我假设它在创建 GUI 时由 GUIDE 调用。现在,尝试从manageButtons外部移动到它自己的路径内文件也不起作用:hgroup传递给它的是一个invalid handle object.

那么......有人有解决方法吗?以下任何一项将不胜感激:

  • 以半自动方式更改 GUI 中的所有回调,或
  • 使manageButtons获取有效句柄,或
  • 没有gencode打破这一切。

谢谢,

安东尼

0 投票
1 回答
1014 浏览

matlab - 通过在matlab中单击它来防止取消选中单选按钮

我使用 GUIDE 创建了 GUI,并将其放置在一个按钮组面板中的单选按钮上。这可以方便地在单击另一个单选按钮时取消选中一个单选按钮。现在让我感到害怕的是,我实际上可以通过第二次单击取消选中已选中的单选按钮,从而使两个单选按钮都处于未选中状态。它适用于其中任何一个。我唯一想要的是标准行为,就是要求这么多......?

我正在使用 Matlab 7.0,不幸的是,这就是我所拥有的。

0 投票
2 回答
2689 浏览

matlab - 在 Matlab 用户界面的编辑框中限制字符串长度

我在 Matlab 用户界面中插入了一个编辑框,我想限制用户可以输入的字符数。编辑框上没有明显的属性(例如“最大字符数”)。我尝试使用回调函数,验证编辑框上的当前字符串大小是否大于我设置的限制并截断第一个字符,但是回调仅在我单击编辑框外部然后再次进入时才起作用。

你知道如何做到这一点吗?

提前致谢。

已编辑

根据 Amro 的建议,我尝试在编辑框的 KeyPressFcn 回调中放置一个验证码。我输入了以下代码:

问题是编辑框字符串仅在我输入内容时更改,按 Enter 然后尝试再次输入内容。似乎 KeyPressFcn 仅在按 Enter 后才被调用(如 Amro 建议的论坛帖子中所述)。

对于如此简单的任务,论坛中提出的解决方案似乎太复杂了。当然必须有一个更优雅的方式......

0 投票
1 回答
3483 浏览

image - Matlab:在 GUIDE 中的图像上叠加绘图

在使用 Matlab 的 GUIDE 时,我希望在图像上绘制一条线。当我在 GUI 中只使用一个轴时,我设法实现了这一点。然而,在添加另一个轴后,绘图不再覆盖图像。

最初,情节开始绘制在错误的轴上,我意识到我忘记设置适当的轴。但是,一旦我选择了要绘制的图像轴,要绘制的线就不再位于图像的顶部,而是仅用线图替换图像。

我的代码:

添加新轴之前的代码与上面相同,但handles.display带有plot().

任何帮助将不胜感激,在此先感谢您。