У меня есть три виджета в моем главном окне. Я разрабатываю свою программу, чтобы каждый виджет контролировал класс.
Последние 2 часа я трачу свое время, чтобы поместить 3 элемента GUI в один из этих виджетов. Я хочу иметь ярлык, позицию и кнопку. Я помещаю их в макет сетки (в реальном случае у меня есть 3 строки для простоты, я ставлю 1 строку в примере ниже). И установите родительский шаблон сетки для моего класса. Я ожидаю, что это элементы графического интерфейса пользователя, чтобы изменить размер и соответствовать одной строке этого виджета, независимо от того, что я пробовал, я не смог добиться успеха.
Короче говоря, я ожидаю, что эти элементы будут сжаты, чтобы соответствовать виджету самостоятельно. Но не мог понять, как это сделать. Любой совет?
void
enviromentSetup::createDialogs()
{
numberOfPoints = new QLabel (QApplication::translate("leftPanel","numberOfPoints"));
inputNumberOfPoints = new
QLineEdit(QString::number(st_environmentParamaters.number_of_points_in_line));
maxElementsButton = new QPushButton("Max Elems");
gridLayout = new QGridLayout(this);
gridLayout->addWidget(numberOfPoints, 0, 0);
gridLayout->addWidget(inputNumberOfPoints, 0, 1);
gridLayout->addWidget(maxElementsButton, 0, 2);
this->show();
}
Недостаточно просто сделать родителем макета главным виджета. Вы также должны явно установить макет виджета.
Добавьте следующую строку перед показом виджета:
this->setLayout(gridLayout);