创建简单的UI界面,并包含“普通按钮”、“弹出式菜单”以及“可编辑文本”3种控件,通过“弹出式菜单”选择文字,按下按钮后在可编辑文本中显示。
首先,创建.fig文件,在”命令行“窗口内输入
guide
,点击回车后弹出以下弹窗,左侧的GUIDE templates即GUIDE模板,默认为空白,选中其它模板后右侧可以看到预览画面。
勾选下面弹窗以修改文件名称(好像这里的文件名称不能和文件夹名重复,也就是这里不能设置为try.fig,重复的话后面不能保存更不用说运行了),最后点击下面的确定。
此时在“当前文件夹”窗口会产生T.fig文件和T.m文件,弹出T.fig弹窗,如下图所示,并且“编辑器窗口”也是选中了T.m文件。
T.m文件可以认为是T.fig文件的本体,运行整个UI界面有两种方法:点击上图.fig文件弹窗右上角的绿色运行符,或运行T.m文件。
注意右键“当前文件夹”窗口的.fig文件,然后点击“运行”,无法真的运行该界面,只能看而已。
若关闭后要进入上述编辑框,可右键“当前文件夹”窗口的.fig文件,点击“在GUIDE”中打开。
本文将通过3种控件:“普通按钮”、“弹出式菜单”以及“可编辑文本”创建简单的UI界面,首先将这3种控件拖动至背景框,停留在控件上会显示控件名,如下图所示。
其次,随意地放置这些控件,拖动至背景框后,点击控件并左键按住边缘点并拖动可以对其进行拉伸。
放置后双击相应控件,会弹出该控件的属性检查器(一般左上角显示1个图标并写着”检查器“),根据下面的表格设置3种控件的对应属性:
控件名|修改属性|修改值|作用
|
修改属性
|
修改值
|
作用
|
普通按钮
|
FontSize
|
10
|
字体变大好看一点
|
String
|
按钮
|
修改显示的文字
|
Tag
|
button
|
方便后续调用
|
弹出式菜单
|
FontSize
|
10
|
字体变大好看一点
|
Tag
|
menu
|
方便后续调用
|
可编辑文本
|
FontSize
|
10
|
字体变大好看一点
|
HorizontalAlignment
|
left
|
左对齐会好看
|
Max
|
2
|
使Max-Min>1,使能多行输入以及滑动条
|
Tag
|
edit
|
方便后续调用
|
通过上述修改后,可以先点击右上角运行图标,运行试试。如下图所示,可以点击“按钮”查看变化,点击“文本编辑框”并输入相应数据,又或者点击”弹出式菜单“。当然,此时各种操作都不会执行相应的操作(毕竟没设置),接下来设置各个控件的回调函数,以实现相应的交互功能。
在T.m文件中,前两个函数为T函数和T_OpeningFcn函数,一般控件的初始化代码放在T_OpeningFcn函数中,未添加代码时该函数如下所示(省略注释),初始化代码一般添加在最下面。
function T_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
下面是添加初始化代码后的T_OpeningFcn函数,以及相应代码的注释。
function T_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
global str;
set(handles.menu, 'string', {'也', '可', '以', '清', '心',...
}, 'value', 1);
str='';
set(handles.edit, 'string',str);
函数格式可参考可参考MATLAB函数及文件一文。
set函数设置控件的属性可参考GUI应用一文的控件-属性。
上述代码添加后,可运行T.m文件,会弹出UI界面,可以查看这些代码做了什么。
首先回到GUIDE中,打开方法如下:
- 右键“当前文件夹”窗口的.fig文件,点击“在GUIDE”中打开。
- 在“命令行”窗口输入“guide”后,选择“打开现有GUI”,选择相应的.fig文件。
打开后,右键“普通按钮”-查看回调-点击Callback,此时“编辑器”窗口跳转到T.m文件的button_Callback函数中(函数名称的前面是控件的Tag),为该函数添加相应代码,如下所示。
function button_Callback(hObject, eventdata, handles)
global str;
Menu = get(handles.menu, 'String');
Value = get(handles.menu, 'Value');
str = [str,Menu{Value}];
set(handles.edit, 'String', str);
此时,整个工程完成,点击运行T.m文件,点击按钮,可将”弹出式菜单“目前选中的内容写入”可编辑文本“中,并且之前的内容不会被覆盖。
实际上本工程中,用控件“列表框”比“弹出式菜单”会好用一点,而且使用方式也几乎一模一样,但弹出式菜单确实比较常用。
通过本文的介绍,通过matlab创建UI界面应该问题不大,对其它控件的使用介绍可参考GUI应用一文。
本工具是一款面向初学者的电力系统潮流仿真工具,数据输入格式和操作方法与 PSASP 电力系统分析软件类似,但功能更加精简,专注于电力系统潮流计算。目前软件可支持常规潮流计算(PQ 分解法、牛顿拉夫逊法)功能、潮流计算结果输出报表功能和连续潮流计算分析功能。目前软件已在 WSCC9 节点系统进行测试,潮流计算结果与 PSASP 相比,误差在 1e-4~1e-5 数量级左右,此计算精度证明了软件后端代码的正确性。
什么是GUI?matlab编程可以设计GUI吗?
GUI定义:GUI指的是图形用户界面(Graphical User Interface,GUI),也称之为图形用户接口,GUI是用图形化方式显示的计算机操作用户界面(可视化)。
我们通常都是使用matlab来做计算,matlab还可以设计GUI?...
用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。图形用户界面(GraphicalUserInterfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI的制作。...
某个天朗气清的下午,老师给我布置了一个Matlab GUI 界面设计的任务,然后欢天喜地回家结婚去了,留我在美好的假期里继续孤零零地在学校里耕耘。好的,在此先祝贺老师新婚快乐,百年好合。然后咱们开始从零开始,一边学,一边做。
作为一个GUI小白,当然不能盲目瞎胡来。我们首先要了解gui设计的一些基本的知识,比如如何添加控件、修改控件名称、如何定义变量、获取变量、怎么传递变量等等。这些在网络上都可以搜的到,在此不多赘述了。这边奉上几个小链接,都是很好的学习资料,大佬们总结的太好了。
1.matlab如何创建图