本文整理汇总了C++中ToolButton::rect方法的典型用法代码示例。如果您正苦于以下问题:C++ ToolButton::rect方法的具体用法?C++ ToolButton::rect怎么用?C++ ToolButton::rect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ToolButton
的用法示例。
在下文中一共展示了ToolButton::rect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: toolActionActivated
void NavigationBar::toolActionActivated()
{
QAction *act = qobject_cast<QAction*>(sender());
if (!act) {
return;
}
const QString id = act->data().toString();
if (!m_widgets.contains(id)) {
return;
}
WidgetData data = m_widgets.value(id);
if (!data.button) {
return;
}
ToolButton *buttonTools = qobject_cast<ToolButton*>(m_widgets.value(QSL("button-tools")).widget);
if (!buttonTools) {
return;
}
AbstractButtonInterface::ClickController *c = new AbstractButtonInterface::ClickController;
c->visualParent = buttonTools;
c->popupPosition = [=](const QSize &size) {
QPoint pos = buttonTools->mapToGlobal(buttonTools->rect().bottomRight());
if (QApplication::isRightToLeft()) {
pos.setX(pos.x() - buttonTools->rect().width());
} else {
pos.setX(pos.x() - size.width());
}
c->popupOpened = true;
return pos;
};
c->popupClosed = [=]() {
buttonTools->setDown(false);
delete c;
};
emit data.button->clicked(c);
if (c->popupOpened) {
buttonTools->setDown(true);
} else {
c->popupClosed();
}
}