本文整理汇总了C++中QtPropertyData::GetOWViewport方法的典型用法代码示例。如果您正苦于以下问题:C++ QtPropertyData::GetOWViewport方法的具体用法?C++ QtPropertyData::GetOWViewport怎么用?C++ QtPropertyData::GetOWViewport使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QtPropertyData
的用法示例。
在下文中一共展示了QtPropertyData::GetOWViewport方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: recalcOptionalWidgets
void QtPropertyItemDelegate::recalcOptionalWidgets(const QModelIndex &index, QStyleOptionViewItem *option) const
{
QtPropertyData* data = index.data(QtPropertyItem::PropertyDataRole).value<QtPropertyData*>();
if(NULL != data)
{
QWidget *owViewport = data->GetOWViewport();
int prevOWSpace = 0;
int owSpacing = 1;
int optionRectRight = option->rect.right();
int dataCount = data->GetOWCount();
for (int i = 0; i < dataCount; ++i)
{
const QtPropertyOW *ow = data->GetOW(i);
if(NULL != ow && NULL != owViewport && NULL != ow->widget)
{
QWidget *owWidget = ow->widget;
int owWidth = ow->size.width();
if(0 != owWidth)
{
QRect owRect = option->rect;
owRect.setLeft(optionRectRight - owWidth - prevOWSpace);
owRect.setRight(owRect.left() + owWidth);
owWidget->setGeometry(owRect);
owWidget->show();
// if this widget isn't overlayed we should modify rect for tree view cell to be drawn in.
if(!ow->overlay)
{
option->rect.setRight(owRect.left());
}
prevOWSpace += (owWidth + owSpacing);
}
else
{
owWidget->hide();
}
}
}
}
}