Qt resize: установка фиксированного размера для виджетов и необходимость изменения размера в зависимости от размера экрана - PullRequest
0 голосов
/ 13 марта 2019

Я разрабатываю настольное приложение в Qtcreator, размер которого нужно изменить в соответствии с размером экрана.Я уже знаю, как получить размер экрана.Однако я пока не разрабатываю его в полноэкранном режиме, потому что хочу установить оптимальный промежуточный размер и изменить его размер позже.

Я установил фиксированные размеры для родительского окна (т. Е. 1370px, 768px) и для всех дочерних виджетов, используя функцию "setfixedsize ()", и приложение выглядит великолепно.Но теперь я устанавливаю другой фиксированный размер для родительского окна (то есть, 1920px, 1080px), и дочерние виджеты не расширяются пропорционально.Я хочу, чтобы они расширялись и уменьшались в зависимости от размера родительского окна.

Правильно ли я делаю установку фиксированных размеров для всех дочерних виджетов?Или это проблема?Как правильно разработать приложение в Qt с помощью этой функции изменения размера?

Спасибо, ребята.

Ps: Извините за английский.

1 Ответ

0 голосов
/ 15 марта 2019

Вы должны установить фиксированный размер только для основного виджета.Размер дочерних виджетов должен быть определен с использованием макетов.

QWidget* mainWidget = new QWidget;
QVBoxLayout* vBoxLayout = new QVBoxLayout(mainWidget);
QWidget* firstChildWidget = new QLabel("first widget");
QWidget* secondChildWidget = new QLabel("second widget");
QWidget* thirdChildWidget = new QLabel("third widget");
vBoxLayout->addWidget(firstChildWidget);
vBoxLayout->addWidget(secondChildWidget);
vBoxLayout->addWidget(thirdChildWidget);
mainWidget->setFixedSize(400, 400);
mainWidget->show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...