Почему не отображаются виджеты?
Начал изучать Qt5 и столкнулся с такой проблемой. Пытаюсь по примеру создать 3 виджета (QListWidget) и скомпоновать их по вертикали, но ничего не выводит. Вот фрагмент кода:
QVBoxLayout* vBox = new QVBoxLayout(this);
vBox->setSpacing(1);
QListWidget* selectMail = new QListWidget;
QListWidget* selectEmail = new QListWidget;
QListWidget* textEmail = new QListWidget;
vBox->addWidget(selectMail);
vBox->addWidget(selectEmail);
vBox->addWidget(textEmail);
setLayout(vBox);
Ответы (1 шт):
Автор решения: Maxim Timakov
→ Ссылка
При использовании QMainWindow в качестве базового класса окна контейнером для виджетов является centralWidget
Порядок создания интерфейса:
- создаете центральный виджет
auto centralWidget = new QWidget{};
- добавляете его к окну
this->setCentralWidget(centralWidget);
- Добавляете нужные элементы
auto vBox = new QVBoxLayout();
vBox->setSpacing(1);
auto selectMail = new QListWidget;
auto selectEmail = new QListWidget;
auto textEmail = new QListWidget;
vBox->addWidget(selectMail);
vBox->addWidget(selectEmail);
vBox->addWidget(textEmail);
this->centralWidget()->setLayout(vBox); // <<<
