您的位置:首页 > 产品设计 > UI/UE

UI布局引擎Layout 之 QGraphicsAnchorLayout

2012-09-24 17:10 357 查看
总体来说,当前4.7 版本中的 AnchorLayout 还不甚完善(AnchorLayout 是从QT4.6引入的),不过主体功能已经完成。

从上述类图中可以看出,AnchorLayout 与其他的布局类有个区别,AnchorLayout没有依赖QGridLayoutEngine,所以可以知道AnchorLayout的排版工作是自己负责的。进一步观察发现,布局中引入了两个类 AnchorData, QGraphicsAnchor,正是这两个工具类,来解耦AnchorLayout的排版布局框架,AnchorData是算法对内结构体,QGraphicsAnchor是算法的对外表现接口。 内部的实现方式是基于有向图论实现结构的存储。 然后在排版子空间的时候,从两个方向依次排版 Vertical: 1. 获取 Item 的 PreferredSize 2.根据Achonr链表得到 item 的 top 和 bottom 坐标, 同样的方法获取 left 和 right 坐标 3.item->setGeometry(rect) 实现细节待续。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: