Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |
Класс QGridLayout выравнивает виджеты по сетке. Далее...
#include <QGridLayout>
Наследует QLayout.
Класс QGridLayout выравнивает виджеты по сетке.
QGridLayout занимает отведенное ему место (отведенное родительский компоновщиком или parentWidget()), разбивает его на строки и столбцы и помещает каждый подконтрольный виджет в соответствующую ячейку.
Столбцы и строки ведут себя одинаково; мы обсудим столбцы, но есть эквивалентные функции для строк.
Каждый столбец имее минимальную ширину и фактор растяжения. Минимальная ширина - это максимальное значение из значения, установленного с помощью setColumnMinimumWidth(), и минимальных ширин всех виджетов, расположенных в колонке. Фактор растяжения устанавливается с помощью setColumnStretch() и определяет, сколько доступного места сверх минимального размера займет колонка.
Обычно, каждый подконтрольный виджет или компоновщик помещается в свою ячейку с помощью addWidget(). Виджет также можно поместить в несколько ячеек, чтобы он занимал несколько строк и колонок, используя перегруженные addItem() и addWidget(). Если Вы делаете это, то QGridLayout попытается распределить его размер по колонкам/строкам (основываясь на факторах растяжения).
Для удаления виджета из компоновщика вызовите remove(). Вызов QWidget::hide() для виджета также эффективно удаляет виджет из компоновщика до вызова QWidget::show().
Следующая иллюстрация показывает фрагмент диалога с сеткой, состоящей из пяти колонок и трех строк (сетка показана пурпурным цветом):
Колонки 0, 2 и 4 в данном диалоге содержат QLabel, QLineEdit и QListBox. Колонки 1 и 3 являются разделителями, заданными с помощью setColumnMinimumWidth(). Строка 0 содержит три объекта QLabel, строка 1 - из трех объектов QLineEdit, а строка 2 - из трех объектов QListBox. Мы использовали колонки-разделители (1 и 3) для установки правильного расстояния между колонками.
Обратите внимание, что колонки и строки имеют не одинаковые ширины и высоты. Если Вы хотите, чтобы две колонки имели одинаковую ширину, Вы должны непосредстенно установить в одинаковые значения их минимальные размеры и факторы растяжения. Вы должны сделать это с помощью setColumnMinimumWidth() и setColumnStretch().
Если QGridLayout не является компоновщиком верхнего уровня, (т.е. не управляет всем пространством виджета и его дочерними объектами), то Вы должны добавить его в родителький компоновщик после создания, но прежде, чем Вы что-либо начнете делать с ним. Нормальный способ добавления компоновщика - это вызов addLayout() в родительком виджете.
Как только Вы добавили Ваш компоношик, Вы можете, с помощью addWidget(), addItem() и addLayout(), добавлять другие виджеты и компоновщики в ячейки Вашего компоновщика.
QGridLayout также учитывает две ширины: ширину границы и расстояние между соседними элементами. Ширина границы - это ширина незанимаемого пространства около каждой из четырех сторон QGridLayout. Расстояние между соседними элементами - это пространство, автоматически вставляемое между соседними ячейками.
Ширина границы по умолчанию и расстояние между виджетами зависят от стиля. По умолчанию в стилях Qt ширина границы равна 9 для виджетов и 11 для окон верхнего уровня.
См. также QBoxLayout, QStackedLayout и Layout Classes.
Создает новый QGridLayout с родительским виджетом parent. Изначально компоновщик имеет одну строку и одну колонку и будет расширен при добавлении новых элементов.
Создает новый компоновщик с сеткой.
Вы должны будете вставить этот компоновщик в другой компоновщик. Вы можете в любое время вставлять виджеты и компоновщики в данный компоновщик, но выравнивание не будет производиться до момента, когда Вы вставите данный компоновщик в другой.
Разрушает компоновщик с сеткой. Управление геометрией останавливается если это компоновщик с сеткой верхнего уровня.
Подконтрольные виджеты не разрушаются.
Добавляет элемент item в позицию row, column, растягивая его на rowSpan строк и columnSpan колонок, и выравнивая его в соответствии с alignment. Если rowSpan и/или columnSpan равны -1, то элемент будет растянут до правого и/или нижнего края соответственно. Компоновщик становится владельцем item.
Внимание: Не используйте данную функцию для добавления дочерних компоновщиков и дочерних виджетов. Используйте addLayout() или addWidget() вместо этого.
Размещает компоновщик layout в позицию сетки (row, column). Верхняя левая поздиция - это (0, 0).
Выравнивание задается с помощью alignment. По умолчани выравнивание равно 0, что означает заполнение виджетом всей ячейки.
Ненулевое значение выравнивания означает, что компоновщик не должен увеличиваться для заполнения всего доступного пространства, а использовать sizeHint().
layout становится дочерним объектом компоновщика с сеткой.
Данная перегруженная функция-член создана для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Эта версия добавляет компоновщик layout в ячейку сетки, растягивая его на несколько строк/столбцов. Начальная ячейка (row, column) растягивается на rowSpan строк и columnSpan столбцов.
Если rowSpan и/или columnSpan равно -1, то компоновщик растягивается до нижнего и/или правого края соответственно.
Добавляет переданный виджет widget в ячейку сетки (row, column). По умолчанию это верхняя-левая позиция (0, 0).
Выравнивание задается с помощью alignment. По умолчани выравнивание равно 0, что означает заполнение виджетом всей ячейки.
Данная перегруженная функция-член создана для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Эта версия добавляет виджет widget в ячейку сетки, растягивая его на несколько строк/столбцов. Начальная ячейка (row, column) растягивается на rowSpan строк и columnSpan столбцов. Выравнивание в ячейке будет равно alignment.
Если rowSpan и/или columnSpan равно -1, то виджет растягивается до нижнего и/или правого края соответственно.
Возвращает прямоугольник ячейки, занимающей в сетке позицию (row, column). Возвращает неверный прямоугольник, если row или column за пределами сетки.
Внимание: в текущей версии Qt данная функция не возвращает верного значения до вызова setGeometry(), т.е. пока parentWidget() не видим.
Возвращает количество столбцов в сетке.
Возвращает ширину колонки column.
См. также setColumnMinimumWidth().
Возвращает фактор растяжения колонки column.
См. также setColumnStretch().
Возвращает позицию элемента с индексом index.
Переданные переменные row и column заполняются позициями элемента в компоновщике, а переменные rowSpan и columnSpan возвращаются вертивальным и горизонтальным растяжениями.
Возвращает угол, используемый для расположения сетки, т.е. для позиции (0, 0).
См. также setOriginCorner().
Возвращает количество строк в сетке.
Возвращает минимальную ширину строки row.
См. также setRowMinimumHeight().
Возвращает фактор растяжения строки row.
См. также setRowStretch().
Устанавливает минимальную ширину столбца column в minSize пикселей.
См. также columnMinimumWidth() и setRowMinimumHeight().
Устанавливает фактор растяжения столбца column в stretch. Первый столбец имеет номер 0.
Фактор растяжения устанавливается относительно других колонок в сетке. Столбец с большим фактором растяжения при заполнении свободного пространства растягивается больше.
По умолчанию фактор растяжения равен 0. Если фактор растяжения равен 0 и никакая другая колонка в данной сетке не может расти, то колонка, все таки может расти.
Альтернативный подход состоит в добавлении интервала с помощью addItem() с QSpacerItem.
См. также columnStretch() и setRowStretch().
Устанавливает угол сетки, т.е. ячейки (0, 0) в corner.
См. также originCorner().
Устанавливает минимальный размер строки row в minSize пикселей.
См. также rowMinimumHeight() и setColumnMinimumWidth().
Устанавливает фактор растяжения строки row в stretch. Первая строка имеет номер 0.
Фактор растяжения устанавливается относительно других строк в сетке. Строка с большим фактором растяжения при заполнении свободного пространства растягивается больше.
По умолчанию фактор растяжения равен 0. Если фактор растяжения равен 0 и никакая другая строка в данной сетке не может расти, то строка, все таки может расти.
См. также rowStretch(), setRowMinimumHeight() и setColumnStretch().
Copyright © 2005 Trolltech | Trademarks | Qt 4.1.0 |