Методы
int | addSpacer ( int w, int h, int row, int col, QSizePolicy hData = QSizePolicy_Minimum, QSizePolicy vData = QSizePolicy_Minimum ) |
int | horizontalSpacing ( ) |
int | removeSpacer ( int index ) |
int | spacing ( ) |
int | verticalSpacing ( ) |
Слоты
void | addLayout ( QLayout *layout, int row, int column ) |
void | addLayout ( QLayout *layout, int row, int column, int rowSpan, int colSpan ) |
void | addWidget ( QWidget *widget, int row, int column ) |
void | addWidget ( QWidget *widget, int row, int column, int rowSpan, int colSpan ) |
void | setColumnMinimumWidth ( int col, int minWidth ) |
void | setContentsMargins ( int left, int top, int right, int bottom ) |
void | setHorizontalSpacing ( int spacing ) |
void | setMargin ( int margin ) |
void | setRowMinimumHeight ( int row, int minHeight ) |
void | setSpacing ( int spacing ) |
void | setVerticalSpacing ( int spacing ) |
Описание методов
int QGridLayout::addSpacer ( int w, int h, int row, int col, QSizePolicy hData = QSizePolicy_Minimum, QSizePolicy vData = QSizePolicy_Minimum )
int QGridLayout::horizontalSpacing ( )
int QGridLayout::removeSpacer ( int index )
int QGridLayout::verticalSpacing ( )
Описание слотов
void QGridLayout::addLayout ( QLayout *layout, int row, int column )
void QGridLayout::addLayout ( QLayout *layout, int row, int column, int rowSpan, int colSpan )
void QGridLayout::addWidget ( QWidget *widget, int row, int column )
void QGridLayout::addWidget ( QWidget *widget, int row, int column, int rowSpan, int colSpan )
void QGridLayout::setColumnMinimumWidth ( int col, int minWidth )
void QGridLayout::setContentsMargins ( int left, int top, int right, int bottom )
void QGridLayout::setHorizontalSpacing ( int spacing )
void QGridLayout::setMargin ( int margin )
void QGridLayout::setRowMinimumHeight ( int row, int minHeight )
void QGridLayout::setSpacing ( int spacing )
void QGridLayout::setVerticalSpacing ( int spacing )
Примеры
$app = new QApplication; $widget = new QWidget; // ГЛАВНОЕ ОКНО $widget->setWindowTitle("PHPQt5 Layouts Example"); // Создаем две разметки: $vboxlayout = new QVBoxLayout; $gridLayout = new QGridLayout; // Рисуем кнопки $maxRows = 5; $maxCols = 3; for($row = 1; $row <= $maxRows; $row++) { for($col = 1; $col <= $maxCols; $col++) { $button = new QPushButton($widget); $button->text = "Button #${row}x${col}"; $button->minimumHeight = 50; // Добавляем созданную кнопку в сеточную разметку, указав строку и колонку $gridLayout->addWidget($button, $row-1, $col-1); } } // Рисуем еще одну кнопку $button = new QPushButton; $button->minimumHeight = 100; $button->text = "Закрыть"; // Соединяем сигнал кнопки "КЛИК" со слотом формы "ЗАКРЫТЬ" $button->connect($button, SIGNAL('clicked(bool)'), $widget, SLOT('close()')); // Добавляем кнопку в сеточную разметку, дополнительно указав какие ячейки нужно объединить // addWidget(QWidget *qw, int row, int col, int rowSpan, int colSpan) $gridLayout->addWidget($button, $maxRows, 0, 1, 3); // В вертикальную разметку добавляем сеточную разметку $vboxlayout->addLayout($gridLayout); // Добавляем в разметку элемент "Распорка" (он же пружинка), чтобы прижать весь контент к потолку. // тут 2000 - это минимальный размер распорки по ширине и высоте, а остальные параметры - константы, // описывающие поведение распорки. В данном случае константы делают распорку "разжимающейся" // // Как правильно пользоваться распорками в Qt можно найти в гугле. // Отличается только метод добавления распорки: её не нужно создавать самостоятельно. $vboxlayout->addSpacer(2000, 2000, QSizePolicy_Policy_Expanding, QSizePolicy_Policy_Expanding); // Устанавливаем разметку на форму $widget->setLayout($vboxlayout); // Показываем форму $widget->show(); $app->exec();comments powered by HyperComments