Qt の場合:
QVBoxLayout *layout = (QVBoxLayout*)this->layout();
printf("Before: %d %d\n", this->height(), layout->totalSizeHint().height());
QWidget *widget = new SubWidget();
layout->insertWidget(0, widget);
this->updateGeometry();
this->adjustSize();
this->update();
this->repaint();
printf("After: %d %d %d\n", this->height(), layout->totalSizeHint().height(), widget->height());
問題は、ウィジェットの高さがゼロ以外 (私の場合は約 400) であるにもかかわらず、前後で同じ数値を取得することです。なんで?