Qt图形视图框架:QGraphicsAnchorLayout
一、描述
图形视图框架锚点布局。可指定小部件应该如何相对于彼此以及布局本身放置。
1.1、尺寸提示和尺寸策略
QGraphicsAnchorLayout “尊重”每个项目的大小提示和大小策略。
1.2、锚布局内的间距
布局可能会在项目之间分配一些空间。 如果未明确指定间距,则实际的空间量通常为 0。如果间距为负,则项目将在一定程度上重叠。
1.3、目前的问题
QGraphicsAnchorLayout 目前不支持某些功能:
- 不考虑拉伸因素。
- 不遵守 QSizePolicy::ExpandFlag。
二、成员函数
1、QGraphicsAnchor *addAnchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge, QGraphicsLayoutItem *secondItem, Qt::AnchorPoint secondEdge)
在项目 firstItem 的边 firstEdge 和项目 secondItem 的边 secondEdge 之间创建一个锚点。锚点的间距是从样式中选取的。如果 firstItem 和 secondItem 不是布局的一部分,它们会自动添加到布局中。在 firstItem 或 secondItem 是布局的祖先的情况下调用此函数具有未定义的行为。
Qt::AnchorPoint:指定可以锚定的布局项的一侧。
- Qt::AnchorLeft:布局项的左侧。
- Qt::AnchorHorizontalCenter:水平居中。
- Qt::AnchorRight
- Qt::AnchorTop
- Qt::AnchorVerticalCenter:垂直居中
- Qt::AnchorBottom
2、void addAnchors(QGraphicsLayoutItem *firstItem, QGraphicsLayoutItem *secondItem, Qt::Orientations orientations = Qt::Horizontal | Qt::Vertical)
将 firstItem 的两个或四个边与 secondItem 的相应边锚定,以便 firstItem 在由方向指定的维度中与 secondItem 具有相同的大小。
layout->addAnchor(b, Qt::AnchorLeft, c, Qt::AnchorLeft);
layout->addAnchor(b, Qt::AnchorRight, c, Qt::AnchorRight);
等同于:
layout->addAnchors(b, c, Qt::Horizontal);
3、void addCornerAnchors(QGraphicsLayoutItem *firstItem, Qt::Corner firstCorner, QGraphicsLayoutItem *secondItem, Qt::Corner secondCorner)
在角指定的 firstItem 和 secondItem 之间创建两个锚点,firstCorner 和 secondCorner,其中一个用于水平边缘,另一个用于垂直边缘。
layout->addAnchor(a, Qt::AnchorTop, layout, Qt::AnchorTop);
layout->addAnchor(a, Qt::AnchorLeft, layout, Qt::AnchorLeft);
等同于:
layout->addCornerAnchors(a, Qt::TopLeftCorner, layout, Qt::TopLeftCorner);
4、QGraphicsAnchor *anchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge, QGraphicsLayoutItem *secondItem, Qt::AnchorPoint secondEdge)
返回由 firstItem 和 firstEdge 以及 secondItem 和 secondEdge 定义的锚点之间的锚点。
上一篇: ca71a_c++_指向函数的指针_通过指针调用函数txwtech
下一篇: ++指针的基本概念,指针变量的定义和使用,指针所占内存空间,空指针和野指针,const修饰指针,指针和数组,指针和函数,指针、数组、函数
推荐阅读
-
Qt图形视图框架:QGraphicsAnchorLayout
-
我选择 wxWidgets 而不是 Qt 作为图形用户界面框架的一些想法 Qt框架VC++MFCDelphi
-
我选择 wxWidgets 而不是 Qt 作为图形用户界面框架的一些想法 Qt框架VC++MFCDelphi
-
C++图形用户界面开发框架Qt 6.x入门级教程 - QML 应用程序 C++Qt图形界面
-
C++图形用户界面开发框架Qt 6.x入门级指南 - Qt Quick控件 C++图形C++qt界面
-
C++图形用户界面开发框架Qt 6.x - 在QML中显示文本 C++QtQML界面控件
-
C++图形用户界面开发框架Qt 6.x - 基于Qt Widget的UI工具 QtC++界面控件
-
C++图形用户界面开发框架Qt 6.x- QML中的可视化元素 Qtc++界面开发QML
-
C++图形用户界面开发框架Qt 6.x - QML中的定位器和布局 C++用户界面开发框架Qt 6Qt
-
Qt5开发学习之图形视图框架(九)