Я работаю над своим первым проектом в QT и у меня есть вопрос о динамическом изменении размеров виджетов и макетов.
Я занимаюсь разработкой qwidget, который будет содержать несколько виджетов на основе параметра, переданного конструктору qwidget. У меня возникают проблемы с изменением размера моего виджета, а также макета и группового блока, чтобы соответствовать количеству виджетов, переданных конструктором.
Мой qwidget в настоящее время содержит групповой блок и макет внутри этого группового блока. При создании виджета я добавляю виджеты в макет, а затем пытаюсь изменить размер макета, используя функции setSizeConstraint (), AdjustSize () и resize (). Похоже, что ничего из этого не изменяет размер виджета должным образом, поскольку мои виджеты все еще накладываются друг на друга.
Мой пользовательский интерфейс по сути это
QWidget
-> QGroupBox
-> QLayout
---> qwidget1
---> qwidget2
---> qwidget3
и т.д.. ниже находится конструктор
myWidget::myWidget(int numRows) :
myUiPtr(new UiLLmyWidget)
{
//Add widget rows
myUiPtr->setupUi(this);
for(int i=0; i<numRows; i++)
{
myRowWidget *row = new myRowWidget();
myUiPtr->myLayout->addWidget(row);
}
//Attempt to resize widget (doesn't work)
myUiPtr->myLayout->setSizeConstraint(QLayout::SetMinimumSize);
myUiPtr->myGroupbox->adjustSize();
this->adjustSize();
}
Я ожидаю, что размер виджета и всех его дочерних групп изменится в соответствии с количеством виджетов, которые я создаю в макете, но этого не происходит, и вместо этого я получаю виджеты, перекрывающие друг друга.