Описание класса QStackedLayout
|
enum | StackingMode { StackOne, StackAll } |
QStackedLayout () | |
QStackedLayout ( QWidget * parent ) | |
QStackedLayout ( QLayout * parentLayout ) | |
~QStackedLayout () | |
int | addWidget ( QWidget * widget ) |
int | currentIndex () const |
QWidget * | currentWidget () const |
int | insertWidget ( int index, QWidget * widget ) |
void | setStackingMode ( StackingMode stackingMode ) |
StackingMode | stackingMode () const |
QWidget * | widget ( int index ) const |
virtual void | addItem ( QLayoutItem * item ) |
virtual int | count () const |
virtual QLayoutItem * | itemAt ( int index ) const |
virtual QSize | minimumSize () const |
virtual void | setGeometry ( const QRect & rect ) |
virtual QSize | sizeHint () const |
virtual QLayoutItem * | takeAt ( int index ) |
void | setCurrentIndex ( int index ) |
void | setCurrentWidget ( QWidget * widget ) |
void | currentChanged ( int index ) |
void | widgetRemoved ( int index ) |
Класс QStackedLayout предоставляет стек виджетов, в котором в один момент виден только один элемент.
QStackedLayout может использоваться для создания пользовательского интерфейса подобного тому, что обеспечивает QTabWidget. Также удобно поместить класс QStackedWidget на вершину QStackedLayout.
QStackedLayout можно заполнить некоторым количеством дочерних виджетов ("страниц"). Например:
QWidget *firstPageWidget = new QWidget; QWidget *secondPageWidget = new QWidget; QWidget *thirdPageWidget = new QWidget; QStackedLayout *stackedLayout = new QStackedLayout; stackedLayout->addWidget(firstPageWidget); stackedLayout->addWidget(secondPageWidget); stackedLayout->addWidget(thirdPageWidget); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(stackedLayout); setLayout(mainLayout);
QStackedLayout не предоставляет пользователю никаких средств переключения страниц. Обычно страницы переключаются с помощью QComboBox или QListWidget, содержащих заголовки страниц QStackedLayout. Например:
QComboBox *pageComboBox = new QComboBox; pageComboBox->addItem(tr("Page 1")); pageComboBox->addItem(tr("Page 2")); pageComboBox->addItem(tr("Page 3")); connect(pageComboBox, SIGNAL(activated(int)), stackedLayout, SLOT(setCurrentIndex(int)));
При вставке виджеты добавляются во внутренний список. Функция indexOf() возвращает индекс виджета в этом списке. Виджеты также могут быть добавлены в конец списка с помощью addWidget() или вставлены в определённое место по индексу, используя insertWidget(). Функция removeWidget() удаляет виджет по заданному индексу из компоновщика. Число содержащихся в компоновщике виджетов можно получить с помощью count().
Функция widget() возвращает виджет, находящийся в позиции с переданным индексом. Индекс виджета, отображаемого в данный момент на экране, можно получить посредством currentIndex(), а показать другой с помощью функции setCurrentIndex(). Похожим образом, отображаемый на данный момент виджет может быть получен посредством currentWidget() и переустановлен с помощью setCurrentWidget().
Всякий раз, когда отображаемый виджет изменяется или удаляется из компоновщика, посылаются сигналы currentChanged() и widgetRemoved() в указанной последовательности.
Смотрите также QStackedWidget и QTabWidget.
Данное перечисление определяет как компоновщик управляет видимостью своих дочерних виджетов.
Константа | Значение | Описание |
---|---|---|
QStackedLayout::StackOne | 0 | Только текущий виджет является видимым. Это значение по умолчанию. |
QStackedLayout::StackAll | 1 | Все виджеты являются видимыми. Текущий виджет просто приподнят (raised). |
Данное перечисление было введено в Qt 4.4.
Данное свойство содержит количество виджетов, содержащихся в компоновщике.
Функции доступа:
virtual int | count () const |
Смотрите также currentIndex() и widget().
Данное свойство содержит индекс видимого в данный момент виджета.
Если текущего виджета нет, то текущий индекс будет равен -1.
Функции доступа:
int | currentIndex () const |
void | setCurrentIndex ( int index ) |
Уведомляющий сигнал:
void | currentChanged ( int index ) |
Смотрите также currentWidget() и indexOf().
Это свойство определяет способ управления видимостью дочерних виджетов.
Значение по умолчанию равно StackOne. Установка свойства в StackAll позволит вам использовать компоновщик для наложения виджетов, которые выполняют дополнительную отрисовку поверх других виджетов, например, графические редакторы.
Это свойство было введено в Qt 4.4.
Функции доступа:
StackingMode | stackingMode () const |
void | setStackingMode ( StackingMode stackingMode ) |
Создаёт QStackedLayout, не имеющего родителя.
Прежде, чем начать работать, данный QStackedLayout должен быть добавлен в другой компоновщик.
Смотрите также addWidget() и insertWidget().
Создаёт новый QStackedLayout с родителем parent.
Данный компоновщик будет установлен в виджет parent и будет управлять геометрическими параметрами его дочерних объектов.
Создаёт новый QStackedLayout и вставляет его в компоновщик parentLayout.
Уничтожает QStackedLayout. Помните, что при этом виджеты компоновщика не уничтожаются.
Переопределено из QLayout::addItem().
Добавляет виджет widget в конец компоновщика и возвращает индекс добавленного widget.
Если до вызова данной функции QStackedLayout был пустым, то widget становится текущим виджетом.
Смотрите также insertWidget(), removeWidget() и setCurrentWidget().
Данный сигнал испускается при смене текущего виджета. Параметр index определяет индекс нового текущего виджета, или -1, если нет нового (например, если в QStackedLayout нет виджетов)
Смотрите также currentWidget() и setCurrentWidget().
Возвращает текущий виджет или 0, если в данном компоновщике нет виджетов
Смотрите также currentIndex() и setCurrentWidget().
Вставляет виджет widget в позицию index данного QStackedLayout. Если index вне диапазона виджетов, то виджет добавляется в конец (возвращает актуальный индекс вставленного виджета widget).
Если до вызова данной функции QStackedLayout был пустым, то widget становится текущим виджетом.
Добавление новых виджетов с индексом, большим или равным текущему, увеличит его, но сохранит текущий виджет.
Смотрите также addWidget(), removeWidget() и setCurrentWidget().
Переопределено из QLayout::itemAt().
Переопределено из QLayoutItem::minimumSize().
Устанавливает в качестве текущего виджет widget. Новый виджет должен содержаться в компоновщике.
Смотрите также setCurrentIndex() и currentWidget().
Переопределено из QLayoutItem::setGeometry().
Переопределено из QLayoutItem::sizeHint().
Переопределено из QLayout::takeAt().
Возвращает виджет, стоящий в позиции index или 0, если в переданной позиции нет виджета.
Смотрите также currentWidget() и indexOf().
Данный сигнал посылается при удалении виджета из компоновщика, стоящего в позиции index. Параметр index передаёт индекс удалённого виджета.
Смотрите также removeWidget().
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |