query 设置form 属性值_MATLAB GUI 布局工具箱的介绍(再也不用头疼Position属性值的设置了)...

有一阵子没写过和GUI有关的推文了,前一阵子我学了点PyQt里面有界面的布局,就想着MATLAB中应该也有类似的功能,搜了一下还真有bf62c300cd507f9d6e066c6db2939431.png

HBox :水平布局

VBox:垂直布局

TabPanel:选项卡布局

Grid:网格布局

还有上面这几种的复合布局

如果能熟练使用这些个布局,那那些控件的Position属性的属性值就不用愁了bf62c300cd507f9d6e066c6db2939431.png

fbd4a6a872d18eb90429284d986ae8da.png

上面的HBox ,VBox,TabPanel,Grid 这四种布局都在uiextras里面。

Firstly,你要在matlab中点击“获取附加功能”,如下:

141e679c9491bd401848bf1fb76d805d.png

Then

012a9c13ec5e596100b4d85a809810c9.png

fbd4a6a872d18eb90429284d986ae8da.png

HBox 

在matlab命令行中输入

uiextras.HBox()

双击工作空间中的ans会出来一个属性检查器

aa77bdd6af9986f6f4fcb07d590c7260.png

根据它所提供这些,选择自己想要的属性, 下面举了一个例子,一般常用的也就这些吧,如下:

clear
clc
close all

f = figure('Name', 'xxxx', ...
    'Toolbar', 'none', ...
    'NumberTitle', 'off', ...
    'Menubar', 'none', ...
    'Units', 'pixels', ...
    'Position', [600, 300, 500, 200]);

HBox = uiextras.HBox();  % 创建一个水平布局
HBox.Parent = f;  % 水平布局的父对象
HBox.Padding = 20;  % 水平布局距这个范围框距离上下左右的间隔为20
HBox.Spacing = 20;  % 布局内每个控件之间的间隔(此处是水平方向的间隔)

HBox.Units = 'pixels';  % 整个布局的单位(用于调整布局的左下角坐标),如果不设置则为normalized
HBox.OuterPosition = [50, 20, 300, 100];  % 布局的左下角坐标及宽度

btn1 = uicontrol('Parent', HBox, 'Style', 'Pushbutton');
btn2 = uicontrol('Parent', HBox, 'Style', 'Pushbutton');
btn3 = uicontrol('Parent', HBox, 'Style', 'Pushbutton');
btn4 = uicontrol('Parent', HBox, 'Style', 'Pushbutton');

% 第一个控件宽20pix,剩下的三个控件按1:2:3分割剩下的宽度。
HBox.Widths = [20, -1, -2, -3];

结果:

9eaa30d2edc80c16e1ddc01f117696ff.png

我把那个 Units 和 OuterPosition 去掉结果如下:

fa05ae080e5591f72883c4514e256ad1.png

因为它默认的Units是normalized,OuterPosition是 [0, 0, 1, 1],所以这个布局会铺满整个窗口。

fbd4a6a872d18eb90429284d986ae8da.png

VBox 

用同样的方法,来看一下VBox都有哪些属性:

c945be538cf643fbe50387d0a16f88c1.png

没有了Width,在VBox中是Heights了,因为在水平方向上布局看的是高度嘛!其他的和HBox都差不多,用法也一样。

下面的例子和上面的基本一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值