matlab中uicontrol创建用户界面控件
来源:https://ww2.mathworks.cn/help/matlab/ref/uicontrol.html?searchHighlight=uicontrol&s_tid=doc_srchtitle
本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。
uicontrol
创建用户界面控件
此函数仅用于 GUIDE 或者使用 figure 函数创建的 App。App 设计工具是构建 App 的推荐环境。有关详细信息,请参阅将 GUIDE App 迁移到 App 设计工具。
语法
说明
c = uicontrol 在当前图窗中创建一个普通按钮(默认用户界面控件),并返回 UIControl 对象。如果图窗不存在,则 MATLAB 调用 figure 函数以创建一个图窗。
c = uicontrol( 创建一个用户界面控件,其中包含使用一个或多个名称-值对组参数指定的属性值。例如,Name,Value)'Style','checkbox' 会创建一个复选框。
c = uicontrol( 在指定的父容器中创建默认用户界面控件,而不是默认为在当前图窗中。parent)
c = uicontrol( 指定用户界面控件的父容器和一个或多个名称-值对组参数。parent,Name,Value)
示例
创建单选按钮
通过将 'Style' 名称-值对组参数指定为 'radiobutton' 来创建单选按钮。通过指定 'String' 名称-值对组参数的值为单选按钮添加标签。
c = uicontrol('Style','radiobutton','String','Option 1');
![]()
在面板内创建滑块
创建一个图窗,其中有一个面板。然后,通过调用 uicontrol 函数在面板中创建滑块,面板指定为父容器,'Style' 指定为 'slider'。接下来,将滑块 Value 属性设置为 0.5。
f = figure;
p = uipanel(f,'Position',[0.1 0.1 0.35 0.65]);
c = uicontrol(p,'Style','slider');
c.Value = 0.5;
![]()
选择弹出式菜单时的代码响应
创建弹出式菜单,点击它时会显示选项列表。使用回调函数确定用户选择的列表项,并在 MATLAB 命令行窗口中显示选择。
将此代码保存为 mytemps.m。以下代码创建一个图窗窗口,其中包含具有三个列表项的弹出式菜单。然后,它使用回调函数查询弹出式菜单的 Value 和 String 属性,并在命令行中显示所选项。
function mytemps
f = figure;
c = uicontrol(f,'Style','popupmenu');
c.Position = [20 75 60 20];
c.String = {'Celsius','Kelvin','Fahrenheit'};
c.Callback = @selection; function selection(src,event)
val = c.Value;
str = c.String;
str{val};
disp(['Selection: ' str{val}]);
end end
运行程序以生成图窗及其内容。
mytemps
![]()
选择其他菜单项以更改选择。例如,如果从弹出式菜单中选择“Kelvin”,则命令行将显示文本 Selection: Kelvin。
编写响应以下操作的代码:点击按钮
创建普通按钮,点击它时会绘制数据。
将此代码保存为 pushbuttonPlot.m。以下代码创建一个包含坐标区和普通按钮的图窗窗口。每次点击该按钮时,回调函数都会执行并绘制五个正态分布随机数的条形图。
function pushbuttonPlot
f = figure;
ax = axes(f);
ax.Units = 'pixels';
ax.Position = [75 75 325 280]
c = uicontrol;
c.String = 'Plot Data';
c.Callback = @plotButtonPushed; function plotButtonPushed(src,event)
bar(randn(1,5));
end end
运行 pushbuttonPlot,然后点击普通按钮。MATLAB 将绘制数据。
![]()
使可编辑的文本字段具有焦点
创建一个可编辑的文本字段,并通过将其函数句柄传递给 uicontrol 函数使其具有焦点。此操作会使光标在可编辑文本字段中变为活动状态并闪烁。
c = uicontrol('Style','edit');
uicontrol(c);
![]()
输入参数
parent - 父对象
当前图窗 (默认) | Figure 对象 | Panel 对象 | ButtonGroup 对象 | Tab 对象
父对象,指定为使用 figure 函数创建的 Figure 对象或其子容器之一:Panel、ButtonGroup 或 Tab 对象。在创建用户界面控件时,使用此参数指定父容器。
c - 用户界面控制对象
UIControl 对象
用户界面控件对象,指定为 UIControl 对象。使用此参数指定要具有焦点的一个以前定义的用户界面控件。
示例: uicontrol(c)
名称-值对组参数
指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。
示例: uicontrol('Style','checkbox') 将复选框指定为用户界面控件的样式。
注意
此处所列的属性只是一部分。有关完整列表,请参阅 UIControl 属性。
'Style' - UIControl 对象的样式
'pushbutton' (默认) | 'togglebutton' | 'checkbox' | 'radiobutton' | ...
UIControl 对象的样式,指定为下表中的值之一。
| 样式属性值 | 示例 | 说明 |
|---|---|---|
'pushbutton' |
释放鼠标按键前显示为按下状态的按钮。 | |
'togglebutton' |
|
按钮,它在外观上类似于普通按钮,但在视觉上有状态指示:选中或清除。 |
'checkbox' |
|
可以单独选择或清除的选项。 |
'radiobutton' |
|
作为组的一部分的选项,选中它时会清除组中的其他选项。 要为一组单选按钮实现互斥行为,请将它们置于 |
'edit' |
|
可编辑的文本字段。 要启用多行文本,请设置 |
'text' |
|
静态文本字段。通常使用静态文本行为其他用户界面控件添加标签,向用户提供信息,或指示与滑块相关联的值。 要使静态文本响应鼠标点击,请将 |
'slider' |
|
用户沿水平或垂直滑动条移动的“滑块”按钮。按钮沿条形的位置表示指定范围内的值。 |
'listbox' |
|
用户可从中选择一项或多项的项列表。与弹出式菜单不同,点击列表框时不会展开。 要启用多项选择,请设置 |
'popupmenu' |
|
弹出式菜单(也称为下拉菜单),展开以显示选项列表。关闭时,弹出式菜单指示出当前选项。如果要提供许多互斥选项,请使用弹出式菜单。 |
'frame' |
不推荐使用 'frame' 选项。使用 uipanel 或 uibuttongroup,而不要使用框架。在包含框架的 UI 中,GUIDE 继续支持其中的框架,但是在 GUIDE 布局编辑器组件面板中则不显示框架组件。 |
|
'String' - 要显示的文本
字符向量 | 字符向量元胞数组 | 字符串数组 | 分类数组 | ...
要显示的文本,指定为字符向量、字符向量元胞数组、字符串数组、分类数组或以管道分隔的行向量。Style 属性指示您可以使用的数组格式。
| 样式属性 | 支持的数组格式 | 示例 |
|---|---|---|
'pushbutton' |
字符向量 字符向量元胞数组 字符串数组 分类数组 |
|
'togglebutton' |
||
'checkbox' |
||
'radiobutton' |
||
'edit' |
||
'text' |
||
'listbox' |
字符向量 字符向量元胞数组 字符串数组 分类数组 管道分隔的行向量 |
|
'popupmenu' |
注意
如果为普通按钮、切换按钮、复选框或单选按钮指定元胞数组或分类数组,则 MATLAB 仅显示数组中的第一个元素。
'Position' - 位置和大小
[20 20 60 20] (默认) | [left bottom width height]
位置和大小,指定为 [left bottom width height] 形式的四元素向量。默认测量单位为像素。下表介绍向量中的每个元素。
| 元素 | 说明 |
|---|---|
left |
父容器的内部左边缘与用户界面控件的外部左边缘之间的距离。 |
bottom |
父容器的内部下边缘与用户界面控件的外部下边缘之间的距离。 |
width |
用户界面控件的左右外侧边缘之间的距离。 |
height |
用户界面控件的上下外侧边缘之间的距离。 |
Position 值相对于父容器的可绘制区域。可绘制区域是指容器边框内的区域,不包括标题所占的区域。如果父容器是一个图窗,可绘制区域还不包括菜单栏和工具栏。
'Value' - 当前值
数字
当前值,指定为数字。用于查询或修改某些用户界面控件的状态。下表说明与特定 UIControl 样式相关的 Value 属性。
| 样式属性 | 值属性的描述 |
|---|---|
'togglebutton' |
|
'checkbox' |
|
'radiobutton' |
|
'slider' |
与滑动条上的滑块位置关联的值。 |
'listbox' |
与列表框中的选定项对应的数组索引。值 1(默认值)对应于列表中的第一个项。选择多个项时,Value 属性将行索引存储为一个向量。 |
'popupmenu' |
与弹出式菜单中的选定项对应的数组索引。值 1(默认值)对应于弹出式菜单中的第一项。 |
matlab中uicontrol创建用户界面控件的更多相关文章
- 如何在多线程中调用winform窗体控件
由于 Windows 窗体控件本质上不是线程安全的.因此如果有两个或多个线程适度操作某一控件的状态(set value),则可能会迫使该控件进入一种不一致的状态.还可能出现其他与线程相关的 bug,包 ...
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
- 【Windows编程】系列第二篇:Windows SDK创建基本控件
在Win32 SDK环境下,怎么来创建常用的那些基本控件呢?我们知道如果用MFC,简单的拖放即可完成大多数控件的创建,但是我们既然是用Windows SDK API编程,当然是从根上解决这个问题,实际 ...
- winform用户控件、动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- create()创建的控件不能映射消息函数的解决
有时,使用create()在运行时创建的控件不能将消息映射到父窗口内,此时需要使用消息转发的机制,主要原理:注册一个全局的消息,针对接收消息的控件编写继承类,在该继承类中响应消息,并将已注册的全局消息 ...
- WinForm/Silverlight多线程编程中如何更新UI控件的值
单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么 ...
- 怎样在VS2013/MFC中使用TeeChart绘图控件
TeeChart作为一款强大好用的绘图控件,通过它可以绘制出各式各样的图表,包括2D的,还有3D的,绘制的图表美观实用,这里主要讲述如何在VS2013/MFC中使用TeeChart控件,顺便说一下在V ...
- Win32 SDK程序创建一些控件(简单调用InitCommonControlsEx,并指定ICC_LISTVIEW_CLASSES控件就可以了)
在Win32 SDK中创建一些控件的时候需要注意一下(具体是哪些控件请参看MSDN文档中列出来的) /* MSDN:Carries information used to load common co ...
随机推荐
- Python爬虫实战点触验证码, 模拟登陆bilibili
爬虫思路如下: 利用自动化爬虫工具 Selenium 模拟点击输入等操作来进行登录 分析页面,获取点触验证码的点触图片,通过将图片发送给超级鹰打码平台识别后获取坐标信息 根据超级鹰返回的数据,模拟坐标 ...
- Android,java,php开发最基本的知识,mysql sqlite数据库的增删改查代理,sql语句
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985转载请说明出处. 下面是代码: 增加:insert into 数据表(字段1,字段2,字段3) valu ...
- Android开发java开发之常用英文词汇汇总。程序员必备英语单词
ANR (Application Not Response ) bundle 捆, entire 整个的,完整的 lifetime 生命周期 entire lifetime 完整生命周期 visi ...
- layaair 物理
box2d http://box2d.org Box2D JS https://sourceforge.net/projects/box2d-js/ Box2D一:基础知识 https://www.c ...
- 【学习中】Unity<中级篇> Schedule
章节 内容 签到 Unity3D 实战技术第二版视频教程(中级篇) 1.游戏引擎发展史 2.Unity发展史 3.3D图形学与必要组件 5月19日 4.核心类_GameObject类 5月19日 5. ...
- python3学习笔记回忆录01
1.print(),print在python3中是一个函数,默认输出内容会自动换行,如果不换行需要加参数end=‘’ print ('hello,',end=' ’) print ('world!') ...
- Pycharm 激活插件与码
Pycharm2020最新永久激活码插件(支持Windows),100%永久激活 用到pycharm工具发现没用多久时间又过期了,在网上有看到很多朋友都遇到同样的情况,于是找到了一批很不错的永久激活方 ...
- 在 Windows 上安装 Composer
a.去官网 getcomposer.org 下载安装程序 b.运行安装程序,需要开启三个扩展 openssl.curl.mbstring,没有开启的话 composer 也可以帮助开启:会自动将com ...
- virtualbox虚拟机之连接本地主机同时可以连接外部网络
如果主机需要通过ssh,ftp等方式访问linux虚拟机,是无法实现的.这个时候要实现端口互通,我们要用到VirtualBox的端口转发功能.所谓的端口转发功能,就是借助主机上虚拟出来的Virtual ...
- redis设置密码和查询密码
编辑redis.windows.conf配置来启用认证. 1.初始化Redis密码: 在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数: 比如 requirepa ...