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 ""; }