dviewitemaction_zh
2022-04-14 16:00:10

Class::DViewItemAction

暂无该属性


Detailed Description

是一个 action 活动, 其默认是不能被点击的. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

setActionList(Qt::BottomEdge, *list) 的 BottomEdge 为水平方向的枚举值时候: LeftEdge, RightEdge, 其对应 alignment 枚举数值只有如下的有效:

其参数 alignment 为如下值时候(才有效):

AlignTop

AlignVCenter

AlignBottom

此处举一个小例子, 可以自行修改相关参数, 查看结果, 理解参数:

QMainWindow *wid = new QMainWindow();
wid->resize(800, 600);

//视图和模型
DListView *view = new DListView(wid);
QStandardItemModel *model = new QStandardItemModel(view);
view->setModel(model);

//标准DStandardItem item
DStandardItem *item = new DStandardItem();
item->setText("@1:这是同一个item 的text\n@2:这是同一个item 的text\n@3:这是同一个item 的text\n@4:这是同一个item 的text\n@5:这是同一个item 的text\n@6:这是同一个item 的text");

//DViewItemAction() 的形参: 其参数 alignment = AlignLeft 或 AlignHCenter 或  AlignRight; 设置为 AlignTop, AlignVCenter, AlignBottom 也是无效的
DViewItemAction *act1 = new DViewItemAction(Qt::AlignBottom, QSize(15, 15), QSize(50, 50));
act1->setText("act1");
act1->setIcon(QIcon("/home/yuanyi/Desktop/dog.jpg"));
DViewItemAction *act2 = new DViewItemAction(Qt::AlignVCenter, QSize(15, 15), QSize());
act2->setText("act2");
act2->setIcon(QIcon("/home/yuanyi/Desktop/dog.jpg"));
DViewItemAction *act3 = new DViewItemAction(Qt::AlignTop, QSize(15, 15), QSize(100, 50));
act3->setText("act3");
act3->setIcon(QIcon("/home/yuanyi/Desktop/dog.jpg"));
DViewItemAction *act4 = new DViewItemAction(Qt::AlignBottom, QSize(15, 15), QSize(100, 50));
act4->setText("act4");
act4->setIcon(QIcon("/home/yuanyi/Desktop/dog.jpg"));

DViewItemActionList *list = new DViewItemActionList();
list->append(act1);
list->append(act2);
list->append(act3);
list->append(act4);

//edge实参: TopEdg, BottomEdge (主要设置前面两个参数), LeftEdge, RightEdge
item->setActionList(Qt::LeftEdge, *list);
model->appendRow(item);

wid->setCentralWidget(view);
wid->show();

上代码示例 code 效果图如下:

image

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

setActionList(Qt::BottomEdge, *list) 的 BottomEdge 为竖直方向的枚举值时候: TopEdge, BottomEdge, 其对应 alignment 枚举数值只有如下的有效:

其参数 alignment 为如下值时候(才有效):

AlignLeft

AlignHCenter

AlignRight

此处举一个小例子, 可以自行修改相关参数, 查看结果, 理解参数:

QMainWindow *wid = new QMainWindow();
wid->resize(800, 600);

//视图和模型
DListView *view = new DListView(wid);
QStandardItemModel *model = new QStandardItemModel(view);
view->setModel(model);

//标准DStandardItem item
DStandardItem *item = new DStandardItem();
item->setText("这是一个item 的text");

//DViewItemAction() 的形参: 其参数 alignment = AlignLeft 或 AlignHCenter 或  AlignRight; 设置为 AlignTop, AlignVCenter, AlignBottom 也是无效的
DViewItemAction *act1 = new DViewItemAction(Qt::AlignLeft, QSize(15, 15), QSize(50, 50));
act1->setText("act1");
act1->setIcon(QIcon("/home/yuanyi/Desktop/dog.jpg"));
DViewItemAction *act2 = new DViewItemAction(Qt::AlignRight, QSize(15, 15), QSize());
act2->setText("act2");
act2->setIcon(QIcon("/home/yuanyi/Desktop/dog.jpg"));
DViewItemAction *act3 = new DViewItemAction(Qt::AlignHCenter, QSize(15, 15), QSize(100, 50));
act3->setText("act3");
act3->setIcon(QIcon("/home/yuanyi/Desktop/dog.jpg"));
DViewItemAction *act4 = new DViewItemAction(Qt::AlignLeft, QSize(15, 15), QSize(100, 50));
act4->setText("act4");
act4->setIcon(QIcon("/home/yuanyi/Desktop/dog.jpg"));

DViewItemActionList *list = new DViewItemActionList();
list->append(act1);
list->append(act2);
list->append(act3);
list->append(act4);

//edge实参: TopEdg, BottomEdge (主要设置前面两个参数), LeftEdge, RightEdge
item->setActionList(Qt::BottomEdge, *list);
model->appendRow(item);

wid->setCentralWidget(view);
wid->show();

上代码示例 code 效果图如下:

image

alignment 设置本控件对象(在父控件的)方向位置: 居左, 居中, 居右 (其他枚举值此处无效) [out] iconSize 本控件的图标 icon 的大小

DViewItemAction::D_DECLARE_PRIVATE

[private plain  ]

int D_DECLARE_PRIVATE(DViewItemAction )

DViewItemAction::DViewItemAction

[private constructor  ]

DViewItemAction(int alignment, const int &iconSize, const int &maxSize, bool clickable, int *parent)

DViewItemAction::alignment

[private plain  ]

int alignment() const

获取 DViewItemAction 放置的(水平)位置 Returns 返回 DViewItemAction 放置的(水平)位置

DViewItemAction::iconSize

[private plain  ]

int iconSize() const

获取图标 icon 的矩形大小 Returns 返回图标 icon 的矩形大小

DViewItemAction::maximumSize

[private plain  ]

int maximumSize() const

获取最大的矩形大小 Returns 返回最大的矩形大小

DViewItemAction::clickAreaMargins

[private plain  ]

int clickAreaMargins() const

获取点击区域范围 Returns 返回点击区域范围

DViewItemAction::setClickAreaMargins

[private plain  ]

void setClickAreaMargins(const int &margins)

设置点击区域范围(eg: 只有图标 icon 时候,会点击区域比较小, 不方便点击, 可以将点击范围设置大一点,便于点击) margins 将被设置的点击区域间隔数值

DViewItemAction::setTextColorRole

[private plain  ]

void setTextColorRole(int role)

设置文本颜色的角色枚举数值 (QPalette) role 文本颜色的枚举值

DViewItemAction::textColorType

[private plain  ]

int textColorType() const

获取文本颜色类型 Returns 返回文本颜色的类型

DViewItemAction::textColorRole

[private plain  ]

int textColorRole() const

获取文本颜色角色 Returns 返回文本颜色角色

DViewItemAction::setFontSize

[private plain  ]

void setFontSize(int size)

设置字体大小 size 将要设置的字体大小值

DViewItemAction::font

[private plain  ]

int font() const

获取字体 Returns 返回字体

DViewItemAction::isClickable

[private plain  ]

bool isClickable() const

获取是否允许被点击的状态(即:如果可以被点击返回true,否则返回false) Returns 返回是否允许被点击的状态

DViewItemAction::setWidget

[private plain  ]

void setWidget(int *widget)

设置 QWidget widget 被添加进来的 QWidget

DViewItemAction::widget

[private plain  ]

int * widget() const

获取 QWidget 控件对象 Returns 返回 QWidget 控件对象