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