Spec-Zone.ru › Qt 5.11

Класс QStackedWidget

Класс QStackedWidget предоставляет стек виджетов, где только один виджет виден в данный момент. Подробнее...

Заголовок: #include <QStackedWidget>
qmake: QT += widgets
Наследуется от: QFrame
  • Список всех членов, включая унаследованные

Свойства

  • count : const int
  • currentIndex : int
  • 6 свойств унаследовано от QFrame
  • 59 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

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

QStackedWidget(QWidget *parent = nullptr)
virtual ~QStackedWidget()
int addWidget(QWidget *widget)
int count() const
int currentIndex() const
QWidget * currentWidget() const
int indexOf(QWidget *widget) const
int insertWidget(int index, QWidget *widget)
void removeWidget(QWidget *widget)
QWidget * widget(int index) const
  • 14 открытых функций унаследовано от QFrame
  • 214 открытых функций унаследовано от QWidget
  • 34 открытых функций унаследовано от QObject
  • 14 открытых функций унаследовано от QPaintDevice

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

void setCurrentIndex(int index)
void setCurrentWidget(QWidget *widget)
  • 19 открытых слотов унаследовано от QWidget
  • 1 открытый слот унаследовано от QObject

Сигналы

void currentChanged(int index)
void widgetRemoved(int index)
  • 3 сигнала унаследовано от QWidget
  • 2 сигнала унаследовано от QObject

Переопределенные защищенные функции

virtual bool event(QEvent *e) override
  • 4 защищенные функции унаследовано от QFrame
  • 35 защищенных функций унаследовано от QWidget
  • 9 защищенных функций унаследовано от QObject
  • 1 защищенная функция унаследовано от QPaintDevice

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

  • 1 открытая переменная унаследована от QObject
  • 5 статические открытые члены унаследовано от QWidget
  • 10 статических открытых членов унаследовано от QObject
  • 4 защищенные функции унаследовано от QFrame
  • 35 защищенных функций унаследовано от QWidget
  • 9 защищенных функций унаследовано от QObject
  • 1 защищенная функция унаследовано от QPaintDevice
  • 1 защищенный слот унаследовано от QWidget
  • 2 защищенные переменные унаследовано от QObject
  • 1 защищенный тип унаследовано от QPaintDevice

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

Класс QStackedWidget предоставляет стек виджетов, где только один виджет виден в данный момент.

QStackedWidget может использоваться для создания пользовательского интерфейса, аналогичного интерфейсу QTabWidget. Это виджет удобной компоновки, построенный поверх класса QStackedLayout.

Как и QStackedLayout, QStackedWidget может быть создан и заполнен несколькими дочерними виджетами («страницами»):

    QWidget *firstPageWidget = new QWidget;
    QWidget *secondPageWidget = new QWidget;
    QWidget *thirdPageWidget = new QWidget;

    QStackedWidget *stackedWidget = new QStackedWidget;
    stackedWidget->addWidget(firstPageWidget);
    stackedWidget->addWidget(secondPageWidget);
    stackedWidget->addWidget(thirdPageWidget);

    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(stackedWidget);
    setLayout(layout);

QStackedWidget не предоставляет встроенных средств для переключения страниц пользователем. Это обычно делается с помощью QComboBox или QListWidget, которые хранят заголовки страниц QStackedWidget. Например:

    QComboBox *pageComboBox = new QComboBox;
    pageComboBox->addItem(tr("Page 1"));
    pageComboBox->addItem(tr("Page 2"));
    pageComboBox->addItem(tr("Page 3"));
    connect(pageComboBox, SIGNAL(activated(int)),
            stackedWidget, SLOT(setCurrentIndex(int)));

При заполнении стека виджетов виджеты добавляются во внутренний список. Функция indexOf() возвращает индекс виджета в этом списке. Виджеты можно добавить в конец списка с помощью функции addWidget() или вставить по заданному индексу с помощью функции insertWidget(). Функция removeWidget() удаляет виджет из стека. Количество виджетов в стеке можно получить с помощью функции count().

Функция widget() возвращает виджет по заданному индексу. Индекс виджета, отображаемого на экране, задаётся свойством currentIndex() и может быть изменён с помощью свойства setCurrentIndex(). Аналогично, текущий отображаемый виджет можно получить с помощью функции currentWidget(), и изменить его с помощью функции setCurrentWidget().

При изменении текущего виджета в стеке или удалении виджета из стека соответственно испускаются сигналы currentChanged() и widgetRemoved().

См. также QStackedLayout и QTabWidget.

Документация свойств

count : const int

Это свойство содержит количество виджетов, содержащихся в этом стеке виджетов

По умолчанию это свойство содержит значение 0.

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

int count() const

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

currentIndex : int

Это свойство содержит индекс положения виджета, который отображается

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

По умолчанию это свойство содержит значение -1, так как стек изначально пуст.

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

int currentIndex() const
void setCurrentIndex(int index)

Сигнал уведомления:

void currentChanged(int index)

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

Документация по функциям-членам

QStackedWidget::QStackedWidget(QWidget *parent = nullptr)

Конструктор QStackedWidget с заданным parent.

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

[virtual] QStackedWidget::~QStackedWidget()

Уничтожает этот стековый виджет и освобождает все выделенные ресурсы.

int QStackedWidget::addWidget(QWidget *widget)

Добавляет указанный виджет widget в QStackedWidget и возвращает его индекс. Владение widget передаётся QStackedWidget.

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

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

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

Этот сигнал генерируется всякий раз, когда меняется текущий виджет.

Параметр содержит индекс index нового текущего виджета или -1, если нового текущего виджета нет (например, если в QStackedWidget нет виджетов).

Примечание: Сигнал-уведомление для свойства currentIndex.

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

QWidget *QStackedWidget::currentWidget() const

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

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

[override virtual protected] bool QStackedWidget::event(QEvent *e)

Переопределено из QFrame::event().

int QStackedWidget::indexOf(QWidget *widget) const

Возвращает индекс указанного widget или -1, если данный widget не является дочерним элементом QStackedWidget.

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

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

Вставляет указанный widget в указанный index в QStackedWidget. Владение widget передаётся QStackedWidget. Если index выходит за пределы диапазона, widget добавляется в конец (в этом случае возвращается фактический индекс widget).

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

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

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

void QStackedWidget::removeWidget(QWidget *widget)

Удаляет widget из QStackedWidget. То есть widget не удаляется, а просто удаляется из стекового макета, из-за чего он скрывается.

Примечание: Родительский объект и родительский виджет widget останутся QStackedWidget. Если приложение хочет повторно использовать удалённый widget, рекомендуется переродировать его.

См. также addWidget(), insertWidget() и currentWidget().

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

Устанавливает текущим виджетом указанный widget. Новый текущий виджет должен уже быть частью этого стекового виджета.

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

QWidget *QStackedWidget::widget(int index) const

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

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

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

Этот сигнал генерируется всякий раз, когда виджет удаляется. В качестве параметра передаётся индекс index виджета.

См. также removeWidget().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qstackedwidget.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API