微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Matlab GUI编程总结

Matlab GUI编程总结

时间:12-01 来源:互联网 点击:

19.’Visible’(可见)——该属性默认值为‘on’,当该值设置成’off’时,该控件不可见。通过控制控件的显示与不显示,可以完成‘刷新’界面的功能。

4.设置和获取属性(set and get)

Set(handle,PropertyName,PropertyValue,…)

PropertyValue=Get(handle, PropertyName);

上述是设置和获得属性的调用语法。无论是窗口、菜单还是控件,都可以通过set修改其属性,也可以通过get获取其属性。重要的是,一定要获得它们的句柄(handle),因此,在创建窗口、菜单和控件时,要保存它们的句柄。

Callback函数:在控件的回调函数中,我们可以通过获得或设置相应控件上的值,来达到我们的目的。因此,我们可以将句柄通过参数的方式或声明为全局变量,以达到在其他函数中设置获取控件的属性。

5.特定区域显示图像

我们可以用subplot函数,将界面分成很多份,然后选择其中一份显示图像。但是,当我们的界面复杂时,我们需要在特定的区域内显示图像。我们可以采用如下方法:

NewImageShowHandle=axes(Units,normalized,...

position,[0.60.52 .3 .4],Color,[0.2 0.2 0.2],Visible,off,Parent,SystemFrameHandle);

imshow(uint8(reconstructed_image),Parent,NewImageShowHandle);

也即是:先在特定的位置新建一个坐标(axes),然后在imshow函数中,设置显示图像的‘父窗口’即可。

6.界面的刷新

一般情况下,不存在界面刷新的问题。但是,当我们需要在程序运行的过程中更新界面的某一个控件,我们就需要实时刷新界面。一般情况下,由于matlab在运行程序时,执行的是主线程,因为界面线程的优先级低于主线程,界面线程要等到主线程执行完之后才执行。但是,我们可以调用pause(0.000001) 函数,让主线程暂停0.000001秒,刷新界面后再去执行主线程。基于此,我编写了一个‘进度提示’控件。详见示例代码。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top