Exemplo n.º 1
0
QString LayoutDumper::getLayoutItemInfo(QLayoutItem* item)
{
    QWidgetItem* wi = dynamic_cast<QWidgetItem*>(item);
    QSpacerItem* si = dynamic_cast<QSpacerItem*>(item);
    if (wi) {
        if (wi->widget()) {
            return QString("%1 [alignment: %2]")
                    .arg(getWidgetInfo(*wi->widget()))
                    .arg(toString(wi->alignment()));
        }
    } else if (si) {
        QSize hint = si->sizeHint();
        QLayout* layout = si->layout();
        return QString("QSpacerItem: sizeHint (%1 x %2), policy %3, "
                       "constraint %4, alignment %5")
                .arg(hint.width())
                .arg(hint.height())
                .arg(toString(si->sizePolicy()))
                .arg(layout ? toString(layout->sizeConstraint())
                            : "[no layout]")
                .arg(si->alignment());
    }
    return "";
}