Добрый день
Создаю виджет, назначаю ему QVBoxLayout и начиняю его кнопками. Все гуд, виджет сайзится чтобы вписать содержимое (первый скриншот). Однако после show() так уже не выходит (второй скриншот). Мои потуги (sizePolicy, adjustSize, WA_Resized и.т.п.) ни к чему не повели. В чем секрет? Тестовый текст прилагаю.
Спасибо
C++ (Qt)
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QDialog * dlg = new QDialog;
dlg->resize(800, 600);
QWidget * widget = new QWidget(dlg);
QLayout * layout = new QVBoxLayout(widget);
layout->addWidget(new QRadioButton("Button 1"));
layout->addWidget(new QRadioButton("Some Other"));
layout->addWidget(new QRadioButton("Button 2"));
layout->setSpacing(4);
widget->move(10, 10);
qDebug() << "geometry" << widget->geometry() << "hint" << widget->sizeHint();
dlg->show();
if (1) {
QRadioButton * btn = new QRadioButton("A longer button yet");
layout->addWidget(btn);
qDebug() << "geometry" << widget->geometry() << "hint" << widget->sizeHint();
}
app.exec();
return 0;
}