编写matlab app designer 脚本,其中按键1可以读取一个文件路径,按键2需要获取到这个文件路径
时间: 2023-06-14 21:06:59 浏览: 158
下面是一个简单的示例代码,可以实现你所需要的功能:
```matlab
classdef MyApp < matlab.apps.AppBase
% Properties
properties (Access = private)
FilePath % 文件路径
end
% UI组件
properties (Access = public)
UIFigure matlab.ui.Figure
Button1 matlab.ui.control.Button
Button2 matlab.ui.control.Button
FilePathLabel matlab.ui.control.Label
end
% Methods
methods (Access = private)
% 按钮1点击事件处理函数
function onButton1Pushed(app, event)
[file,path] = uigetfile('*.*');
if isequal(file,0)
return;
end
app.FilePath = fullfile(path, file);
app.FilePathLabel.Text = app.FilePath;
end
% 按钮2点击事件处理函数
function onButton2Pushed(app, event)
if isempty(app.FilePath)
app.FilePathLabel.Text = '请先选择文件';
else
disp(app.FilePath);
end
end
end
% App初始化函数
methods (Access = private)
% 创建UI组件
function createComponents(app)
% 创建主窗口
app.UIFigure = uifigure('Name', 'My App', 'Position', [100 100 300 150]);
% 创建按钮1
app.Button1 = uibutton(app.UIFigure, 'push', 'Position', [30 70 100 22], 'Text', '选择文件', 'ButtonPushedFcn', @(btn,event)onButton1Pushed(app,event));
% 创建按钮2
app.Button2 = uibutton(app.UIFigure, 'push', 'Position', [170 70 100 22], 'Text', '获取文件路径', 'ButtonPushedFcn', @(btn,event)onButton2Pushed(app,event));
% 创建文件路径标签
app.FilePathLabel = uilabel(app.UIFigure, 'Position', [30 30 240 22], 'Text', '');
end
end
% App creation and deletion
methods (Access = public)
% 创建App
function app = MyApp
% 创建UI组件
createComponents(app);
% 指定App名称
app.UIFigure.Name = 'My App';
% 初始化文件路径为空
app.FilePath = '';
end
% 删除App
function delete(app)
% 关闭主窗口
delete(app.UIFigure);
end
end
end
```
使用方法:
1. 将上述代码保存为 `MyApp.m` 文件;
2. 在 Matlab 命令窗口中输入 `app = MyApp` 来运行 App;
3. 点击按钮1选择一个文件;
4. 点击按钮2获取文件路径。
其中,文件路径会存储在 `app.FilePath` 属性中,可以在其他函数中使用。在本示例中,我们在按钮2的点击事件处理函数中使用了 `disp(app.FilePath)` 来将文件路径打印到命令窗口中。同时,我们也在主窗口中添加了一个标签,用来显示文件路径。
阅读全文