Qt:Документация 4.3.2/qstackedlayout

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск
40px Внимание: Актуальная версия перевода документации находится здесь

__NOTOC__

Image:qt-logo.png

Главная · Все классы · Основные классы · Классы по группам · Модули · Функции

Image:trolltech-logo.png

Содержание

Описание класса QStackedLayout
[модуль QtGui ]

Класс QStackedLayout предоставляет стек виджетов, в котором в один момент виден только один элемент. Далее...

 #include <QStackedLayout>

Наследует QLayout.

Свойства

  • 2 свойства, унаследованных от QLayout
  • 1 свойство, унаследованное от QObject

Открытые функции

  • 28 открытых функций, унаследованных от QLayout
  • 29 открытых функций, унаследованных от QObject
  • 17 открытых функций, унаследованных от QLayoutItem

Открытые слоты

  • 1 открытый слот, унаследованный от QObject

Сигналы

  • 1 сигнал, унаследованный от QObject

Дополнительные унаследованные члены

  • 1 статический открытый член, унаследованный от QLayout
  • 5 статических открытых членов, унаследованных от QObject
  • 3 защищенные функции, унаследованные от QLayout
  • 7 защищенных функций, унаследованных от QObject

Подробное описание

Класс 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.


Описание cвойств

count : const int

Данное свойство содержит количество виджетов, содержащихся в компоновщике.

Функции доступа:

  • virtual int count () const

Смотрите также currentIndex() и widget().

currentIndex : int

Данное свойство содержит индекс видимого в данный момент виджета.

Если такого нет, то текущий индекс будет равен -1.

Функции доступа:

  • int currentIndex () const
  • void setCurrentIndex ( int index )

Смотрите также currentWidget() и indexOf().


Описание функций-членов

QStackedLayout::QStackedLayout ()

Создаёт QStackedLayout, не имеющего родителя.

Прежде, чем начать работать, данный QStackedLayout должен быть добавлен в другой компоновщик.

Смотрите также addWidget() и insertWidget().

QStackedLayout::QStackedLayout ( QWidget * parent )

Создает новый QStackedLayout с родителем parent.

Данный компоновщик будет установлен в виджет parent и будет управлять геометрическими параметрами его дочерних объектов.

QStackedLayout::QStackedLayout ( QLayout * parentLayout )

Создает новый QStackedLayout и вставляет его в компоновщик parentLayout.

QStackedLayout::~QStackedLayout ()

Уничтожает QStackedLayout. Помните, что при этом виджеты не уничтожаются.

int QStackedLayout::addWidget ( QWidget * widget )

Добавляет виджет widget в конец компоновщика и возвращает индекс добавленного widget.

Если до вызова данной функции QStackedLayout был пустым, то widget становится текущим виджетом.

Смотрите также insertWidget(), removeWidget() и setCurrentWidget().

void QStackedLayout::currentChanged ( int index ) [signal]

Данный сигнал испускается при смене текущего виджета. Параметр index содержит индекс нового текущего виджета.

Смотрите также currentWidget() и setCurrentWidget().

QWidget * QStackedLayout::currentWidget () const

Возвращает текущий виджет или, если в данном компоновщике нет виджетов, 0.

Смотрите также currentIndex() и setCurrentWidget().

int QStackedLayout::insertWidget ( int index, QWidget * widget )

Вставляет виджет widget в позицию index данного QStackedLayout. Если index вне диапазона виджетов, то виджет добавляется в конец (возвращает актуальный индекс вставленного виджета widget).

Если до вызова данной функции QStackedLayout был пустым, то widget становится текущим виджетом.

Добавление новых виджетов с индексом, большим или равным текущему, увеличит его, но сохранит текущий виджет.

Смотрите также addWidget(), removeWidget() и setCurrentWidget().

void QStackedLayout::setCurrentWidget ( QWidget * widget ) [slot]

Устанавливает в качестве текущего виджет widget. Новый виджет должен содержаться в компоновщике.

Смотрите также setCurrentIndex() и currentWidget().

QWidget * QStackedLayout::widget ( int index ) const

Возвращает виджет, стоящий в позиции index или, если в переданной позиции нет виджета, 0.

Смотрите также currentWidget() и indexOf().

void QStackedLayout::widgetRemoved ( int index ) [signal]

Данный сигнал посылается при удалении виджета из компоновщика, стоящего в позиции index. Параметр index передаёт индекс удалённого виджета.

Смотрите также removeWidget().



Copyright © 2007 Trolltech Trademarks
Qt 4.3.2