Привет :) Это мой код (с тем, что я попробовал в комментарии).«this» является классом, производным от QWidget, и «this» не имеет размера, потому что я хочу подогнать его в зависимости от размера дочерних элементов (поэтому в «paintEvent» я вызываю «AdjustSize ()»):
QPushButton *button1 = new QPushButton("Hello and good morning");
QPushButton *button2 = new QPushButton("World");
QHBoxLayout *h1 = new QHBoxLayout(this);
QHBoxLayout *h2 = new QHBoxLayout(this);
QVBoxLayout *v = new QVBoxLayout(this);
h1->addWidget(button1);
h2->addWidget(button2);
//h2->setSizeConstraint(QLayout::SetMaximumSize);
//h2->setSizeConstraint(QLayout::SetDefaultConstraint);
//h2->setSizeConstraint(QLayout::SetFixedSize);
//h2->setSizeConstraint(QLayout::SetMinAndMaxSize);
v->addLayout(h1);
v->addLayout(h2);
//v->setSizeConstraint(QLayout::SetDefaultConstraint);
//v->setSizeConstraint(QLayout::SetFixedSize);
//v->setSizeConstraint(QLayout::SetMaximumSize);
//v->setSizeConstraint(QLayout::SetMinAndMaxSize);
//v->setSizeConstraint(QLayout::SetMinimumSize);
//v->setSizeConstraint(QLayout::SetNoConstraint);
QSize s1 = h1->sizeHint();
QSize s2 = h2->sizeHint();
QSize s3 = h1->totalSizeHint();
QSize s4 = h2->totalSizeHint();
QSize s5 = h1->totalMaximumSize();
QSize s6 = h2->totalMaximumSize();
QSize s7 = h1->totalMinimumSize();
QSize s8 = h2->totalMinimumSize();
setLayout(v);
show();
Я получаю такой результат: видна только кнопка1.Когда я устанавливаю точку останова на "setLayout (v)", я вижу, что каждый QSize h2 имеет размер (0, 0).
Мой вопрос: как я могу увидеть button2 (и button1 изкурс :) ) ?Я не хочу устанавливать минимальный / максимальный размер, потому что кнопка должна соответствовать тексту.
Хорошего дня!