如何在matlab中实现可编辑下拉菜单?

19cd6eea728a8aa3963024858429ef43.png

头些天做GUI开发的时候使用到了matlab下拉菜单popupmenu组件,但是这个组件有个问题,只能事先预设好里面的可选择内容,一旦内容确定后,编译后就不能自定义修改了,除非重新编译程序。为了解决该问题,小编在网上开始了一顿搜索。大概归纳了一下可以采用三种方式来实现在matlab中的可编辑下拉菜单:

一、通过在matlab中加载第三方的可编辑下拉菜单组件

二、在matlab中使用java组件

三、通过编辑框edit组件与列表框listbox组件组合来实现

小编经过权衡后,选择了第三种方式来实现,并相关操作集成到一个名为popUpMenu的函数当中,如果需要使用直接调用即可,下面就一起来看看这个函数吧。

调用格式:cont = popUpMenu(handle,pos,ftN,ftZ,ftB,ftA)

参数说明:

cont:用于获取可编辑下拉菜单当前所选择的内容

handle: 父界面对应的图像句柄

pos:可编辑下拉菜单位置,形式为[x y weight height];

ftN:字体,默认为:Times New Roman

ftZ:字体大小,默认为:8

ftB:字体粗细,默认为 'Bold',可用选项为:'normal' 或 'Bold'

ftA:字体倾斜,默认为 'italic',可用选项为:'normal' 或 'italic'

以下为popUpMenu的演示程序:

% 程序作者:bashan
% 公众号名称:matlab爱好者
% 公众号ID:matlabaihaozhe


clc;clear;close all;
% 定义figure名称
appname = strcat('可编辑下拉菜单',32,169,'matlab爱好者');
% 获取figure句柄
mainH = figure('Position',[395 168 700 320],'Name',appname,...
    'NumberTitle','off',...
    'Resize','off',...
    'Units','normalized',...
    'Color','w','Menubar','none');
str = {'100','200','300','400'};
pos = [0.38 0.55 0.25 0.12];
ftN = 'Times New Roman';   % 字体名称
ftZ = 8;        % 字体大小
ftB = 'Bold';   % 字体粗细
ftA = 'italic'; % 字体倾斜
% 核心程序
cont = popUpMenu(mainH,str,pos,ftN,ftZ,ftB,ftA);
get(cont,'string')


uicontrol(mainH,'Style','text',...
    'Units','normalized',...
    'String','可编辑下拉菜单演示程序',...
    'FontName','楷体',...
    'FontSize',9,...
    'FontUnits','normalized',...
    'HorizontalAlignment','center',...
    'ForegroundColor',[0.6395 0.0791 0.1804],...
    'BackgroundColor',[1 1 1],...
    'Position',[.18 .72 .65 .20]);

演示效果图

68ff32cd779e8d712aa702c26a535e97.gif

小伙伴可以自行使用上面归纳的方法来实现可编辑下拉菜单功能,隐藏部分的内容为小编自己编写的matlab可编辑下拉菜单源程序,近百行代码,欢迎有需要的小伙伴使用!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB编写一个可输入数据的窗口,可以通过GUI(图形用户界面)进行实现。以下是一个简单的例子: 1. 创建GUI程序 在MATLAB命令行窗口输入 `guide`,然后按回车键,打开GUI程序创建向导。 2. 添加组件 在向导,可以选择不同的组件,如按钮、文本框、下拉菜单等。在这个例子,我们需要添加一个文本框组件来输入数据,可以在“常规控件”选择“编辑框”并将其拖动到GUI界面。 3. 设置属性 在GUI界面,选添加的文本框组件,然后在属性编辑设置它的属性。例如,可以设置它的位置、大小、字体、背景颜色等。 4. 添加回调函数 在GUI界面,选添加的文本框组件,然后在属性编辑选择“回调函数”选项。单击“编辑回调函数”按钮,打开回调函数编辑器。在回调函数,可以编写代码来获取文本框输入的数据,并进行处理。 例如,可以使用以下代码来获取文本框输入的数据: ``` data = get(handles.edit1, 'String'); ``` 其,`handles`是GUI界面的句柄,`edit1`是文本框的标识符,`String`是文本框输入的字符串。 5. 运行程序 在GUI界面,单击“运行”按钮,即可运行程序。在文本框输入数据,然后单击“确定”按钮,可以将数据传递给回调函数进行处理。 这是一个简单的例子,可以根据实际需要进行修改和完善。在GUI编程,需要注意控件的布局、属性设置、回调函数编写等,以实现功能的完整和良好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值