图片缩略图

GridLayout

版本1.5.0.0(12.5 kB) Mihail彼得罗夫
直观和灵活的布局管理器
4.5
2评级

1下载

更新2012年3月28日

视图版本历史

查看许可协议

GridLayout的灵感来自于GridBagLayout管理器。它同样灵活,但对我来说更直观,而且它需要的样板代码也更少。

每个单元格是一个uicontainer,只能容纳一个子单元格。与GridBagLayout不同,子节点是在创建时通过传递单元格容器句柄作为父节点来添加的。不需要“添加”方法,这减少了代码的数量。

单元尺寸可以以像素或相对值指定。支持合并和删除单元格,以及各种对齐选项:拉伸,中心,左,右,顶金宝app部,底部。

存档还包括说明GridLayout功能的演示。非常感谢错误报告和改进建议。下载,解压缩,享受!

引用作为

Mihail Petrov(2021)。GridLayout(//www.tatmou.com/matlabcentral/fileexchange/29472-gridlayout),Matlab中央文件兑换。检索到

评论和评级(10

Mihail彼得罗夫

埃里克,布局。Cell属性本身就是一个uicontainers数组。这是GridLayout的主要特性之一。您不需要任何额外的功能。

Eric Cousineau

要使套装的子对象更容易,例如嵌套的gridlayout和绘图,我认为一个函数,如gridlayout.wrapcell(行,col)会有所帮助。它会在单元格中创建UIContainer(),然后将句柄返回该容器。

Mihail彼得罗夫

另一个变化是用Lmargin,Rmargin,Tmargin和Bmargin替换Hmargin和Vmargin参数,即左,右,顶部和底部。这对轴非常有用。有关示例,请参阅演示7。

大卫

听起来很棒,等不及要试一试了!谢谢Mihail !

Mihail彼得罗夫

嗨,David和Eric,

仍然给我几天,我将上传固定版本。这几天我一直很忙......

感谢您的反馈意见!

大卫

很酷的图书馆,谢谢!我遇到了Eric Cousineau上面提到的问题2。确实需要能够处理一个轴对象中的多个子对象,以实现绘图的功能。

Eric Cousineau

确定的东西!我在构造函数中注释了一小部分,以允许~ ishhandle()对象包含一个GridLayout。
我还更新了updatelayout()方法以允许绘图。
我已经上传了一个diff文件:http://pastebin.com/knn05prr.

然而,我认为如果plot和子GridLayouts都封装在uicontainers()中可能会更容易一些——这样它们就可以被包含在一个GridLayout中。我认为这个包装可以在第一次调用UpdateLayout()时发生。

Mihail彼得罗夫

Eric,谢谢你的反馈和评价。

你能指出你在代码中到底更改了什么吗?在过去的几个月里,我自己做了一些小小的改变,我想在上传一个新版本之前把它们和你的合并。

Eric Cousineau

我刚意识到一些事情:
1)你可以通过在构造函数中禁用check (ishghandle())来嵌套GridLayout,并将其封装在uicontainer中。
2)如果你为你的情节添加图例,它将引入额外的子单元,造成错误。最好的解决办法就是把它包装在容器里。这也是另一个bug修正,即添加情节时不使用任何变通方法。

Eric Cousineau

这是一个很棒的GridBagLayout还原!

我注意到在调整绘图时有一个bug。发现杰森的布局有问题。GridBagLayoutand incorporated it into GridLayout.ResizeCell().

我已经把代码上传到
http://pastebin.com/fqRhFCgC

再一次感谢您!

Matlab释放兼容性
创建R2010b
兼容任何释放
平台的兼容性
视窗 macOS Linux
确认

启发:GridBagLayout

启发:sim.i.am.

社区寻宝

在MATLAB中心找到宝藏,并发现社区可以如何帮助您!

开始狩猎!