问题标签 [matlab-app-designer]

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 回答
4731 浏览

matlab - MATLAB App - 在创建组件之前添加路径

我在某个文件夹中有一个 MATLAB App App.mlapp~/myapp/。它使用的功能和 GUI 中使用的一些图形在~/myapp/subfolder. 为了正确运行App.mlapp,我必须每次~/myapp/subfolder在启动应用程序之前手动添加到我的路径中。

如何自动添加子文件夹?

我试着把addpath(genpath(~/myapp/subfolder));. StartupFcn但是,正如StartupFcn在组件创建后调用的那样,它已经需要一些图形~/myapp/subfolder,这种方法不起作用。组件是使用自动创建的功能创建的createComponents,无法使用 App Designer Editor 进行编辑。

excaza 要求的最小示例。要创建它,请打开 App 设计器,创建一个新应用程序,在设计视图中添加一个按钮,并使用 Button Properties -> Text & Icon -> More Properties -> Icon File在路径中指定一个图标。然后从路径中删除图标的目录并尝试运行该应用程序。

0 投票
0 回答
469 浏览

matlab - MATLAB R2017a UIAxes 平移/缩放限制

在我们之前的代码中,我们有一个使用标准图形的基本 UI。我正在更新代码以使用新的应用程序设计器样式 UIFigures - 我实际上并没有使用应用程序设计器工具,而是以编程方式构建它。

使用标准图形和轴时,可以将轴的缩放和平移限制为仅表示水平 (x) 方向。这是使用

但是,此样式不适用于 UIAxes 元素。

我尝试将其修改为:

这种安排适用于标准'on''off'参数,但是对于'xon'or'yon'我只是收到一条错误消息:

是否有任何替代方法可以完成与以前相同的行为 - 即将平移和缩放限制在一个轴方向?


注意 - 如果您需要一个最小的示例来尝试,最简单的方法是运行appdesigner,拖动一个UIAxes元素,然后运行它。你应该得到一个NameOfApp.NameOfAxesElement句柄。

0 投票
3 回答
987 浏览

matlab - 使用 Matlab 中的 App Designer 可以进行实时音频处理吗?

我想使用 Matlab 中的 App Designer 编写一个简单的音频过滤器应用程序。一个人应该能够加载一个音频文件,按下播放键并在文件播放时更改输入增益、截止频率等参数。

我只是不知道如何使实时更改参数和更新相应的变量成为可能,以便人们可以听到过滤器是如何变化的。

这是我现在写的代码:

它主要是 Matlab 为 GUI 生成的函数。我添加了一些属性来保存输入增益、截止等的值,以及执行信号处理的 play() 函数。我可以运行应用程序,按下播放按钮并听到正在播放的音频文件,但是当我更改截止频率时,没有任何变化。我猜这是因为我在按下播放按钮时在回调函数中执行了 play() 函数,因此在另一个完成之前无法执行截止旋钮转动时的回调函数。

当我第一次更改参数然后按播放时,一切都正确,除了在文件播放时我无法更改参数。

我尝试了以下方法但没有成功:

  • 在 play() 函数的 while 循环内调用回调函数,但我不知道我必须为事件传递什么参数(Matlab 总是告诉我它不知道命令或参数丢失)或者如果这个甚至有用
  • 在 runStartupFcn() 中执行 play() 函数,但是这个函数是在显示 GUI 之前执行的,这当然没用
  • 据我所知,我无法在其他地方添加功能

所以现在的问题是:我可以让应用程序实时运行吗?

我期待着您的回答!

0 投票
2 回答
848 浏览

matlab - 从文件存储设置启动应用程序并在启动时加载它们

我正在开发应用程序设计器中的应用程序。在应用程序中,用户将在运行一些计算之前选择一堆选项。为了简化这个过程,我添加了一个“另存为...”菜单,以便用户可以将当前设置保存到文件 ( .mat) 并在下次打开应用程序时重新加载它们。

我想要实现的是用户可以双击以前保存的.mat文件,这将启动应用程序,应用程序将自动读取双击的文件并加载所有设置。

所有这些都需要在应用程序被编译并作为可执行文件分发之后发生。

我认为实现此目的的一种方法是创建一个应用程序的启动窗口,该窗口调用主窗口,将文件路径作为参数传递。

任何建议将不胜感激。

0 投票
2 回答
3294 浏览

matlab - 如何从appdesigner(Matlab)中的应用程序类外部访问数据

我用一个下拉菜单在 appdesigner (Matlab) 中创建了一个非常简单的 GUI。此外,我获取了生成的代码(在“代码视图”选项卡下)并将其粘贴到一个普通的 .m 文件中(因为我想进一步向该代码添加更多内容)。我的问题是如何从这个自我生成的代码中访问某些变量,以便我可以在主类之外使用该值?

例如:

在 App 类中,对于这个下拉菜单部分,生成了以下代码行:

在这个应用程序类之外:根据在这个下拉菜单中选择的值,我想在一个普通变量中捕获它,并根据选择的颜色显示一些其他结果

谢谢

0 投票
1 回答
350 浏览

image - 在 UIAxes 中覆盖具有透明度的图像

我正在尝试在 UIAxes 内的应用程序中显示 2 个重叠图像。我知道imshowpair(bg,fg,'blend'),虽然它确实有效,但它不允许我控制透明度级别。

我尝试按照史蒂夫的提示,他建议使用:

但它在 UIAxes 中无法正常工作。当我设置'AlphaData'属性时,两个图像都变得透明。

我怎样才能做到这一点?这个想法是有一个滑块,用户可以在其中交互式设置顶部图像的透明度。

参考代码和图片

它在图中的外观与它在 UIAxes 中的外观:

图与 UIAxes

0 投票
1 回答
1043 浏览

matlab - 在 App Designer 图窗中显示视频流

我正在 App Designer 中开发一个简单的应用程序,并且一直在努力包含来自网络摄像头的视频流。

我遇到了以下帖子,但到目前为止,我的应用程序无法正常工作:https ://uk.mathworks.com/matlabcentral/answers/357814-how-to-create-a-custom-preview-窗口格式-matlab-网络摄像头

到目前为止,我正在做的是:

  1. 在 GUI 中创建坐标区对象。这是第二个数字,所以它被自动标记为app.UIAxes2

  2. 在我的启动函数中包含以下命令:

    /li>

我的相机对象在哪里app.Camera(我在类中包含了该属性),第二个命令应该将图像调整为相机视频流的大小。我可能错了。

  1. 创建一个开关 ( CameraStreamSwitch),它应该在打开 (to Start) 时显示视频流。

  2. 在 App 代码中创建以下函数,该函数在按下开关时激活:

    /li>

现在,虽然显示实时更新的图形的其他数字正在工作,但这个数字显然不起作用,即它被调整到正确的大小,但一直保持黑色(我已经检查过,从命令行打开预览(在应用程序之外)会弹出一个图形并显示正常工作的视频流)。我不确定问题是否与preview在应用程序中调用有关,我没有正确指定正确的图像或图像属性,或者我是否应该在应用程序中以较慢的帧速率简单地显示更少的图像。

可以做些什么来解决这个问题?

0 投票
0 回答
104 浏览

matlab - 如何在 Appdesigner 中保存应用状态?

在 MATLAB Appdesigner 中是否有一种内置方法可以保存/加载(序列化/反序列化)整个 UI?

背景:

我想向应用程序添加保存/加载功能。我认为由于 App 本身是继承自 的类的对象matlab.apps.AppBase,因此我可以将整个对象序列化为硬盘上的某个文件。然后,当我想恢复这个文件时,我会反序列化它以恢复应用程序之前保存的状态。

除了所有应用程序类属性外,这还应保存所有组件属性。

这可能吗?如何?

0 投票
1 回答
176 浏览

matlab - 将 imline 与 uiaxes 一起使用

我正在尝试使用 Matlab 2017b 和appdesigner. 我想使用该imline功能将可移动线附加到图像上。但是,appdesigner似乎使用了一种新类型的对象,uiaxesimline函数只会使用对象axes

有效的命令示例:

不起作用的命令示例:

问题

是否有imline与 appdesigner 一起使用的解决方法?是否仍然可以使用旧axes对象?是否有其他方法可以在 GUI 上使用appdesigner?

0 投票
0 回答
104 浏览

matlab - 根据下拉列表中的值对 UITable 上的字段求和

我正在创建一个应用程序,它将执行一些简单的数学函数。这些功能之一是对我表上的字段求和。但是,它应该根据下拉菜单中选择的内容对字段进行求和,并在编辑字段组件上显示总和值。例如,使用附图,当我单击控制总计时,我想在会计期间列中显示数字的总和,并将其显示在右侧称为 sum 的编辑字段中。

我收到一个错误:

无法识别的变量名称“ct”

我以为 app.UITable.Data.ct 会引用列名来求和?

请参考附图。