Шаг 28.
Библиотека Qt.
Горизонтальное размещение QHBoxLayout

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

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


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

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

#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QHBoxLayout>

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");
//Создается объект класса QHBoxLayout
//для горизонтального размещения дочерних виджетов
QHBoxLayout* phbxLayout = new QHBoxLayout;
//Метод 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();
}     

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

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




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