• MATLAB GUI之ABC


    GUIDE

    属性设置

    name 更改名字

    在GUI的“.m”文件中的OpeningFcn函数或者OutputFcn函数中添加以下代码:

    % 设置页面左上角的 LogoI = imread( 'Logo.jpg' ); % Logo.jpg为指定的图标javaImage = im2java( I );newIcon = javax.swing.ImageIcon( javaImage );figFrame = get( handles.figure1, 'JavaFrame' ); % 取得Figure的JavaFramefigFrame.setFigureIcon( newIcon ); % 修改图标

    本问题参考了网址:https://blog.csdn.net/hycwoaiyl/article/details/80113594
    ————————————————
    版权声明:本文为CSDN博主「Daniel__Shi」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/shitao99/article/details/85955726

    全局变量

    “在函数或基本工作空间中,用global声明的变量为全局变量。”
    “声明了全局变量的函数或基本工作空间,共享该全局变量,都可以给它赋值。”
    “如果函数的子函数也要使用全局变量,也必须用global声明。”
    “全局变量要放在函数开始处声明。”

    在gui显示图像的toolbar

    set( hObject, 'toolbar', 'figure' ); % 在菜单栏显示figure工具条的内容

    GUI放到屏幕中央

    需要选择其中一种代码,将其放置在GUI界面的XXX_OpeningFcn()函数下即可。 推荐使用前三种实现,简洁实用。

    movegui( handles.figure1, 'center' ) % figure1为当前GUI界面的Tag

    movegui( gcf, 'center' ); % 将GUI界面放置在桌面中央

    movegui( hObject, 'center' ); % 将GUI界面放置在桌面中央

    GUI的M文件

    在MATLAB GUI中,数据分两种:GUI data和application data。 两种数据的存取机制是相同的,但是GUI data使用起来比较方便。
    每一个GUI 图形界面都维持一个和自己的界面的图形(figure)相联系的一个handles数据结构,这个数据结构中容纳图形界面内所有控件(按钮、列表框、编辑框等)的句柄,相当于一个大的“容器”,里面存放了figure内所有控件的句柄。同时,handles结构也可以被figure内所有控件的回调函数访问,因为回调函数的输入参数中都有handles结构。此外,在控件的回调函数内可以把数据存储到handles结构中。
    handles结构数据的取得和存储是通过guidata函数来实现的。
    例如:在编辑框edi的回调函数内想获得t编辑框的句柄,hObject可以,也可以用handles.edit,这两个值是一样的,没有区别,只不过获得控件句柄的方式不同而已:hObject是调用回调函数时直接传过来的,handles.edit是从handles结构中取得的。但是,在控件的CreateFcn函数中如果想访问控件,必须用hObject,而不能用handles.edit,因为这时控件还没被创建,其句柄还没有加入到handles结构中。
    各控件的回调函数中,hObject的值是不一样的,分别代表调用回调函数的控件的句柄,而handles结构却是一样的。这种机制便于figure内的不同控件的回调函数内传递数据。

    Opening函数框架

    GUI 文件执行函数的顺序是:

    Opening函数−>Output函数−>回调函数Opening函数−>Output函数−>回调函数
    并且,Opening 函数 、 Output 函数只执行在开始运行时执行一次。
    若要根据用户的要求,输出到命令行,可以使用暂停和就行函数:uiwait,uiresumeuiwait,uiresume
    具体如下
    (1)添加 uiwait 到 Opening 函数中(如上,uiwait(handles.figure1);)
    (2)在期望相应的回调函数中,更新 handles.output 值,并执行 uiresume。

    回调函数

    hObject, 当前 figure 句柄
    eventdata, 附加参数,一般用不到
    handles,当前 GUI 句柄,包含所有 GUI 对象的信息

    • 利用函数 get 来取得句柄中的数据值,利用 set 来改变句柄中数据的值,并利用global 在不同的控件中共享数据。
    • 设置:set(handles.控件的tag,'要设置的属性名','要设置的属性值')。比如:set(handles.edit1,'string','hello world');
    • 获取:get(handles.控件的tag,'要获取的属性名')
  • 相关阅读:
    java 内存命令
    sts4 集成 springboot 和 activiti5
    sts4 安装spring xml 的提示。
    去除office 2019 由于您的登录凭据已经过期,的提示。
    「なきゃ」和「なくちゃ」分别是什么的原型?
    能力考必看|推荐三本适合N1和N2能力考练听力的书|帝京日语
    影子练习
    早大前辈分享日本留学生考试(EJU)日语高分经验
    星野源 新垣结衣 结婚
    使Nginx支持更多并发 请求的 Linux内核参数的优化
  • 原文地址:https://www.cnblogs.com/xiaoxuesheng993/p/12436775.html
Copyright © 2020-2023  润新知