Шаг 29.
Библиотека Qt.
Вертикальное размещение QVBoxLayout

    На этом шаге рассмотрим вертикальное размещение QVBoxLayout.

    Компоновка QVBoxLayout унаследована от QBoxLayout и упорядочивает все виджеты только по вертикали, сверху вниз. В остальном она ничем не отличается от классов QBoxLayout и QHBoxLayout. Окно программы, которая упорядочивает виджеты при помощи объекта класса QVBoxLayout, показано на рис. 1.


Рис.1. Размещение кнопок по вертикали

Содержание файла будет следующее:

#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QVBoxLayout>

int main(int argc, char** argv)
{
QApplication app(argc, argv);
app.setApplicationDisplayName("QHBoxLayout");
QWidget wgt;
//Cоздаются три кнопки A, B и C
//(указатели pcmdA, pcmdB и pcmdC)
QPushButton* pcmdA = new QPushButton("A");
QPushButton* pcmdB = new QPushButton("B");
QPushButton* pcmdC = new QPushButton("C");
//Создается объект класса QVBoxLayout
//для вертикального размещения дочерних виджетов
QVBoxLayout* phbxLayout = new QVBoxLayout;
//Метод QLayout::setMargin() устанавливает
//толщину рамки 10 пикселов
phbxLayout->setMargin(10);
//Метод QLayout::setSpacing() задает
//расстояние между виджетами равное 20 пикселам
phbxLayout->setSpacing(20);
//Три вызова метода QLayout::addWidget() добавляют
//виджеты кнопок в компоновку
phbxLayout->addWidget(pcmdA);
phbxLayout->addWidget(pcmdB);
phbxLayout->addWidget(pcmdC);
wgt.setLayout(phbxLayout);
wgt.show();
return app.exec();
}     

    Файлы примера можно взять здесь.

    На следующем шаге рассмотрим вложенные размещения.




Предыдущий шаг Содержание Следующий шаг