DtkWidget
DTK Widget module
载入中...
搜索中...
未找到
Dtk::Widget::DAnchors< T > 模板类 参考

DAnchors 是一个模板类,在 DAnchorsBase 的基础上保存了一个控件指针, 将控件和锚定绑定在一起使用,相当于把“锚线”属性附加到了控件本身. 更多...

类 Dtk::Widget::DAnchors< T > 继承关系图:
Dtk::Widget::DAnchorsBase

Public 成员函数

 DAnchors (T *w)
 
 DAnchors (const DAnchors &me)
 
T & operator= (const DAnchors &me)
 
T & operator= (T *w)
 
T * widget () const
 
T * operator-> () const
 
T & operator* () const
 
 operator T* () const
 
 operator T& () const
 
- Public 成员函数 继承自 Dtk::Widget::DAnchorsBase
 DAnchorsBase (QWidget *w)
 构造 DAnchorsBase 对象,传入的 w 对象会和一个新的 DAnchorsBase 对象绑定到一起
 
 ~DAnchorsBase ()
 在析构时会判断此 DAnchorsBase 对象是否和 target 存在绑定关系,如果是则从映射表中移除绑定
 
QWidget * target () const
 返回 target 控件指针
 
DEnhancedWidgetenhancedWidget () const
 返回 target 控件的扩展对象。此对象为 QWidget 对象额外提供了和控件大小、位置相关的变化信号
 
bool enabled () const
 返回 enabled 属性
 
const DAnchorsBaseanchors () const
 返回 anchors 属性
 
const DAnchorInfotop () const
 返回 top 属性
 
const DAnchorInfobottom () const
 返回 bottom 属性
 
const DAnchorInfoleft () const
 返回 left 属性
 
const DAnchorInforight () const
 返回 right 属性
 
const DAnchorInfohorizontalCenter () const
 返回 horizontalCenter 属性
 
const DAnchorInfoverticalCenter () const
 返回 verticalCenter 属性
 
QWidget * fill () const
 返回 fill 属性
 
QWidget * centerIn () const
 返回 centerIn 属性
 
int margins () const
 返回 margins 属性
 
int topMargin () const
 返回 topMargin 属性
 
int bottomMargin () const
 返回 bottomMargin 属性
 
int leftMargin () const
 返回 leftMargin 属性
 
int rightMargin () const
 返回 rightMargin 属性
 
int horizontalCenterOffset () const
 返回 horizontalCenterOffset 属性
 
int verticalCenterOffset () const
 返回 verticalCenterOffset 属性
 
int alignWhenCentered () const
 返回 alignWhenCentered 属性
 
AnchorError errorCode () const
 锚定过程中产生的错误,在一个新的锚定函数被调用之前会清空此错误状态,每次调用锚定函数后,可以通过此函数的返回值来判断锚定设置是否成功。
 
QString errorString () const
 对 errorCode 的文本描述信息
 
bool isBinding (const DAnchorInfo *info) const
 如果此 info 设置了锚定对象,则返回 true ,否则返回 false
 

额外继承的成员函数

- Public 类型 继承自 Dtk::Widget::DAnchorsBase
enum  AnchorError {
  NoError , Conflict , TargetInvalid , PointInvalid ,
  LoopBind
}
 设置锚定信息的过程中可能出现的错误类型 更多...
 
- Public 槽 继承自 Dtk::Widget::DAnchorsBase
void setEnabled (bool enabled)
 设置 enabled 属性
 
bool setAnchor (const Qt::AnchorPoint &p, QWidget *target, const Qt::AnchorPoint &point)
 DAnchorsBase::target 对象设置锚定规则
 
bool setTop (const DAnchorInfo *top)
 设置 top 属性
 
bool setBottom (const DAnchorInfo *bottom)
 设置 bottom 属性
 
bool setLeft (const DAnchorInfo *left)
 设置 left 属性
 
bool setRight (const DAnchorInfo *right)
 设置 right 属性
 
bool setHorizontalCenter (const DAnchorInfo *horizontalCenter)
 设置 horizontalCenter 属性
 
bool setVerticalCenter (const DAnchorInfo *verticalCenter)
 设置 verticalCenter 属性
 
bool setFill (QWidget *fill)
 设置 fill 属性
 
bool setCenterIn (QWidget *centerIn)
 设置 centerIn 属性
 
bool setFill (DAnchorsBase *fill)
 将 fill 中的target()作为参数调用其它重载函数
 
bool setCenterIn (DAnchorsBase *centerIn)
 将 centerIn 中的target()作为参数调用其它重载函数
 
void setMargins (int margins)
 设置 margins 属性
 
void setTopMargin (int topMargin)
 设置 topMargin 属性
 
void setBottomMargin (int bottomMargin)
 设置 bottomMargin 属性
 
void setLeftMargin (int leftMargin)
 设置 leftMargin 属性
 
void setRightMargin (int rightMargin)
 设置 rightMargin 属性
 
void setHorizontalCenterOffset (int horizontalCenterOffset)
 设置 horizontalCenterOffset 属性
 
void setVerticalCenterOffset (int verticalCenterOffset)
 设置 verticalCenterOffset 属性
 
void setAlignWhenCentered (bool alignWhenCentered)
 设置 alignWhenCentered 属性
 
void setTop (int arg, Qt::AnchorPoint point)
 设置 target 控件到上
 
void setBottom (int arg, Qt::AnchorPoint point)
 设置 target 控件到下
 
void setLeft (int arg, Qt::AnchorPoint point)
 设置 target 控件到左
 
void setRight (int arg, Qt::AnchorPoint point)
 设置 target 控件到右
 
void setHorizontalCenter (int arg, Qt::AnchorPoint point)
 设置 target 控件水平
 
void setVerticalCenter (int arg, Qt::AnchorPoint point)
 设置 target 控件竖直
 
void moveTop (int arg)
 移动 target 控件的上边界到 arg 这个位置
 
void moveBottom (int arg)
 移动 target 控件的下边界到 arg 这个位置
 
void moveLeft (int arg)
 移动 target 控件的左边界到 arg 这个位置
 
void moveRight (int arg)
 移动 target 控件的右边界到 arg 这个位置
 
void moveHorizontalCenter (int arg)
 移动 target 控件的水平中线到 arg 这个位置
 
void moveVerticalCenter (int arg)
 移动 target 控件的竖直中线到 arg 这个位置
 
void moveCenter (const QPoint &arg)
 移动 target 控件的上边界到 arg 这个位置
 
- 信号 继承自 Dtk::Widget::DAnchorsBase
void enabledChanged (bool enabled)
 信号会在 enabled 属性的值改变时被发送
 
void topChanged (const DAnchorInfo *top)
 信号会在 top 属性的值改变时被发送
 
void bottomChanged (const DAnchorInfo *bottom)
 信号会在 bottom 属性的值改变时被发送
 
void leftChanged (const DAnchorInfo *left)
 信号会在 left 属性的值改变时被发送
 
void rightChanged (const DAnchorInfo *right)
 信号会在 right 属性的值改变时被发送
 
void horizontalCenterChanged (const DAnchorInfo *horizontalCenter)
 信号会在 horizontalCenter 属性的值改变时被发送
 
void verticalCenterChanged (const DAnchorInfo *verticalCenter)
 信号会在 verticalCenter 属性的值改变时被发送
 
void fillChanged (QWidget *fill)
 信号会在 fill 属性的值改变时被发送
 
void centerInChanged (QWidget *centerIn)
 信号会在 centerIn 属性的值改变时被发送
 
void marginsChanged (int margins)
 信号会在 margins 属性的值改变时被发送
 
void topMarginChanged (int topMargin)
 信号会在 topMargin 属性的值改变时被发送
 
void bottomMarginChanged (int bottomMargin)
 信号会在 bottomMargin 属性的值改变时被发送
 
void leftMarginChanged (int leftMargin)
 信号会在 leftMargin 属性的值改变时被发送
 
void rightMarginChanged (int rightMargin)
 信号会在 rightMargin 属性的值改变时被发送
 
void horizontalCenterOffsetChanged (int horizontalCenterOffset)
 信号会在 horizontalCenterOffset 属性的值改变时被发送
 
void verticalCenterOffsetChanged (int verticalCenterOffset)
 信号会在 verticalCenterOffset 属性的值改变时被发送
 
void alignWhenCenteredChanged (bool alignWhenCentered)
 信号会在 alignWhenCentered 属性的值改变时被发送
 
- 静态 Public 成员函数 继承自 Dtk::Widget::DAnchorsBase
static bool setAnchor (QWidget *w, const Qt::AnchorPoint &p, QWidget *target, const Qt::AnchorPoint &point)
 方便用户直接设置两个对象之间锚定关系的静态函数,调用此函数可能会隐式创建DAnchorsBase 对象。
 
static void clearAnchors (const QWidget *w)
 清除和控件 w 相关的所有锚定关系,包括锚定w或者被w锚定的任何关联。会直接 销毁 w 对应的 DAnchorsBase 对象
 
static DAnchorsBasegetAnchorBaseByWidget (const QWidget *w)
 返回与 w 绑定的 DAnchorsBase 对象
 
- Protected 成员函数 继承自 Dtk::Widget::DAnchorsBase
void init (QWidget *w)
 初始化函数
 
- 属性 继承自 Dtk::Widget::DAnchorsBase
QWidget * target
 绑定了锚定功能的控件对象
 
bool enabled
 控制锚定功能是否开启,为 false 时仅仅表示不会根据控件各种属性的变化来 来更新它的位置,但锚定关系并没有被解除
 
const DAnchorsBaseanchors
 一个指向自己的指针
 
const DAnchorInfotop
 target 控件上边界锚线的信息
 
const DAnchorInfobottom
 target 控件下边界锚线的信息
 
const DAnchorInfoleft
 target 控件左边界锚线的信息
 
const DAnchorInforight
 target 控件右边界锚线的信息
 
const DAnchorInfohorizontalCenter
 target 控件水平锚线的信息
 
const DAnchorInfoverticalCenter
 target 控件竖直锚线的信息
 
QWidget * fill
 target 控件的填充目标对象
 
QWidget * centerIn
 target 控件的居中目标对象
 
int margins
 上下左右四条“锚线”的边距,此值的优先级低于每条“锚线”特定的 margin 值
 
int topMargin
 上“锚线”的边距,优先级高于 margins
 
int bottomMargin
 下“锚线”的边距,优先级高于 margins
 
int leftMargin
 左“锚线”的边距,优先级高于 margins
 
int rightMargin
 右“锚线”的边距,优先级高于 margins
 
int horizontalCenterOffset
 水平“锚线”的偏移量
 
int verticalCenterOffset
 竖直“锚线”的偏移量
 
bool alignWhenCentered
 设置控件创建时是否对齐
 

详细描述

template<class T>
class Dtk::Widget::DAnchors< T >

DAnchors 是一个模板类,在 DAnchorsBase 的基础上保存了一个控件指针, 将控件和锚定绑定在一起使用,相当于把“锚线”属性附加到了控件本身.

重载了 “->”、“*”、“&” 等运算符,用于把 DAnchors 这层封装透明化,
尽量减少使用DAnchors<QWidget> 和直接使用 QWidget* 对象的区别。


该类的文档由以下文件生成: