首先,新建一个 MATLAB 的 GUI 项目,在命令行输入 guide,即会弹出一个窗口,选择 Blank GUI,点击 ok,弹出一个 untitled.fig 窗口,这就是你所要设计的 GUI 界面,如下图所示:
接下来,在刚刚创建的空白 GUI 界面上右击鼠标,选择 Property Inspector 选项,在新弹出的属性框中找到 Tag,这是一个句柄属性,是控件在计算机内部唯一标识符,类似于我们的身份证号,为便于代码的理解,一般情况输入有意义的字符,不要包括汉字,此处为
sine_figure;然后点击保存,命名为 sinetyq。
这样一个已命名的空白 GUI 界面就做好了。接下来,添加控件,选择 4 个 static text,4 个
edit text,排列成四行两列,双击每个控件,进入属性设置界面,此处着重注意三个地方,
FontSize、String、Tag,在 FontSize 处可设置要显示的字体大小,String 是显示的字符内容,
Tag 是这个控件在.M 文件中的名字,类似于变量名,同样也要秉持程序易于理解的原则来命名,如在频率栏,可将要输入频率的 edit text 的 Tag 设置为 frequency_input,这样便于理解。
在我们自己添加控件时,为了界面美观,常需要将各控件对齐,这时手动调节多个控件会很 费时,我们按住 ctrl 键,用鼠标选中要排列的控件,然后点击工具栏的这个按钮,选择对齐方式即可自动对齐。
现在我们右击某一个 edit text,选择 view callbacks,就会调到我们这个 GUI 界面对应的.M 文件,这个.M 文件是自动创建的,要实现的程序代码就是在各个控件对应的程序块处编写实现的。
接下来,再添加一个运行按钮,命名为 RUN,同时句柄 Tag 也为 RUN。
接下来,为窗口增加两个坐标,用来显示正弦波的时域和频域图。在左侧的工具栏处选择
Axes,拖动到空白界面上。同时为其命名为 time、spectrum。
界面布局到此就结束了,我们可以看到界面有点偏小,所以可以在界面的右下角出拉大界面 以便于较好的显示图形。
点击工具栏的运行 按钮,运行一下界面。
注意右上角的放大图标为灰色的,表明不可放大,如果要实现放大按钮,可在界面设计页面 的空白处双击鼠标,找到 resize 复选框,并选中它,即显示为 on,这样在运行一次就可最大化窗口了。
到此,界面设计完毕,接下来是为相关控件添加代码。代码如下,注意采样率一定要结合抽 样定理。还有 set 函数的 gcbo:returns the handle of the graphics object whose callback is executing.