Spec-Zone.ru › Qt 5.11

Класс QTabWidget

Класс QTabWidget предоставляет набор вкладок. Подробнее...

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

Типы

Перечисление TabPosition { Север, Юг, Запад, Восток }
Перечисление TabShape { Скругленные, Треугольные }

Свойства

  • count : const int
  • currentIndex : int
  • documentMode : bool
  • elideMode : Qt::TextElideMode
  • iconSize : QSize
  • movable : bool
  • tabBarAutoHide : bool
  • tabPosition : TabPosition
  • tabShape : TabShape
  • tabsClosable : bool
  • usesScrollButtons : bool
  • 59 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

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

QTabWidget(QWidget *parent = nullptr)
virtual ~QTabWidget()
int addTab(QWidget *page, const QString &label)
int addTab(QWidget *page, const QIcon &icon, const QString &label)
void clear()
QWidget * cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const
int count() const
int currentIndex() const
QWidget * currentWidget() const
bool documentMode() const
Qt::TextElideMode elideMode() const
QSize iconSize() const
int indexOf(QWidget *w) const
int insertTab(int index, QWidget *page, const QString &label)
int insertTab(int index, QWidget *page, const QIcon &icon, const QString &label)
bool isMovable() const
bool isTabEnabled(int index) const
void removeTab(int index)
void setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner)
void setDocumentMode(bool set)
void setElideMode(Qt::TextElideMode)
void setIconSize(const QSize &size)
void setMovable(bool movable)
void setTabBarAutoHide(bool enabled)
void setTabEnabled(int index, bool enable)
void setTabIcon(int index, const QIcon &icon)
void setTabPosition(QTabWidget::TabPosition)
void setTabShape(QTabWidget::TabShape s)
void setTabText(int index, const QString &label)
void setTabToolTip(int index, const QString &tip)
void setTabWhatsThis(int index, const QString &text)
void setTabsClosable(bool closeable)
void setUsesScrollButtons(bool useButtons)
QTabBar * tabBar() const
bool tabBarAutoHide() const
QIcon tabIcon(int index) const
QTabWidget::TabPosition tabPosition() const
QTabWidget::TabShape tabShape() const
QString tabText(int index) const
QString tabToolTip(int index) const
QString tabWhatsThis(int index) const
bool tabsClosable() const
bool usesScrollButtons() const
QWidget * widget(int index) const

Переопределенные открытые функции

виртуальный bool hasHeightForWidth() const override
виртуальный int heightForWidth(int width) const override
виртуальный QSize minimumSizeHint() const override
виртуальный QSize sizeHint() const override
  • 214 общедоступных функций, унаследованных от QWidget
  • 34 общедоступных функций, унаследованных от QObject
  • 14 общедоступных функций, унаследованных от QPaintDevice

Общедоступные слоты

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

Сигналы

void currentChanged(int index)
void tabBarClicked(int index)
void tabBarDoubleClicked(int index)
void tabCloseRequested(int index)
  • 3 сигнала, унаследованные от QWidget
  • 2 сигнала, унаследованные от QObject

Защищённые функции

void initStyleOption(QStyleOptionTabWidgetFrame *option) const
void setTabBar(QTabBar *tb)
виртуальный void tabInserted(int index)
виртуальный void tabRemoved(int index)

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

виртуальный void changeEvent(QEvent *ev) override
виртуальный bool event(QEvent *ev) override
виртуальный void keyPressEvent(QKeyEvent *e) override
виртуальный void paintEvent(QPaintEvent *event) override
виртуальный void resizeEvent(QResizeEvent *e) override
виртуальный void showEvent(QShowEvent *) override
  • 35 защищённых функций, унаследованных от QWidget
  • 9 защищённых функций, унаследованных от QObject
  • 1 защищённая функция, унаследованная от QPaintDevice

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

  • 1 общедоступная переменная, унаследованная от QObject
  • 5 статические общедоступные члены, унаследованные от QWidget
  • 10 статических общедоступных членов, унаследованных от QObject
  • 1 защищённый слот, унаследованный от QWidget
  • 2 защищённые переменные, унаследованные от QObject
  • 1 защищённый тип, унаследованный от QPaintDevice

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

Класс QTabWidget предоставляет набор вкладок.

Вкладка предоставляет панель вкладок (см. QTabBar) и область «страниц», которая используется для отображения страниц, связанных с каждой вкладкой. По умолчанию панель вкладок отображается над областью страниц, но доступны различные конфигурации (см. TabPosition). Каждая вкладка связана с отдельным виджетом (называемым страницей). Только текущая страница отображается в области страниц; все остальные страницы скрыты. Пользователь может отобразить другую страницу, щелкнув по ее вкладке или нажав комбинацию Alt+буква, если она определена.

Обычно QTabWidget используется следующим образом:

  1. Создайте QTabWidget.
  2. Создайте QWidget для каждой из страниц в диалоге вкладок, но не указывайте родительские виджеты для них.
  3. Вставьте дочерние виджеты в виджет страницы, используя макеты для их позиционирования в обычном режиме.
  4. Вызовите addTab() или insertTab() для размещения виджетов страницы в виджете вкладки, присваивая каждой вкладке соответствующую метку с необязательной комбинацией клавиш.

Положение вкладок определяется свойством tabPosition, их форма — свойством tabShape.

При переключении пользователем страницы отправляется сигнал currentChanged().

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

Вы можете изменить текст и значок вкладки, используя setTabText() или setTabIcon(). Вкладку и связанную с ней страницу можно удалить с помощью removeTab().

В любое время каждая вкладка может быть включена или выключена (см. setTabEnabled()). Если вкладка включена, текст вкладки отображается нормально, и пользователь может выбрать эту вкладку. Если она отключена, вкладка отображается по-другому, и пользователь не может выбрать эту вкладку. Обратите внимание, что даже если вкладка отключена, страница всё ещё может быть видимой, например, если все вкладки отключены.

Виджеты вкладок могут быть очень полезны для разделения сложного диалога. Альтернативой является использование QStackedWidget, для которого вы предоставляете некоторые средства для перемещения между страницами, например, QToolBar или QListWidget.

Большая часть функциональности QTabWidget предоставляется QTabBar (вверху, отображающие вкладки) и QStackedWidget (большая часть области, организующей отдельные страницы).

См. также QTabBar, QStackedWidget, QToolBox и Пример диалога вкладок.

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

перечисление QTabWidget::TabPosition

Это перечисление определяет, где QTabWidget рисует строку вкладок:

Константа Значение Описание
QTabWidget::North 0 Вкладки отображаются над страницами.
QTabWidget::South 1 Вкладки отображаются под страницами.
QTabWidget::West 2 Вкладки отображаются слева от страниц.
QTabWidget::East 3 Вкладки отображаются справа от страниц.

перечисление QTabWidget::TabShape

Это перечисление определяет форму вкладок:

Константа Значение Описание
QTabWidget::Rounded 0 Вкладки отображаются с закругленными краями. Это форма по умолчанию.
QTabWidget::Triangular 1 Вкладки отображаются с треугольными краями.

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

count : const int

Это свойство хранит количество вкладок в ленте вкладок

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

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

int count() const

currentIndex : int

Это свойство хранит индекс текущей страницы вкладки

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

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

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

int currentIndex() const
void setCurrentIndex(int index)

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

void currentChanged(int index)

documentMode : bool

Это свойство указывает, отображается ли виджет вкладок в режиме, подходящем для страниц документов. Это то же самое, что и режим документа на macOS.

При установке этого свойства рамка виджета вкладок не отображается. Этот режим полезен для отображения страниц типа документов, где страница занимает большую часть области виджета вкладок.

Это свойство было добавлено в Qt 4.5.

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

bool documentMode() const
void setDocumentMode(bool set)

См. также elideMode, QTabBar::documentMode, QTabBar::usesScrollButtons и QStyle::SH_TabBar_PreferNoArrows.

elideMode : Qt::TextElideMode

как обрезать текст в ленте вкладок

Это свойство управляет тем, как обрезаются элементы, когда для данной ленты вкладок не хватает места для их отображения.

По умолчанию значение зависит от стиля.

Это свойство было добавлено в Qt 4.2.

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

Qt::TextElideMode elideMode() const
void setElideMode(Qt::TextElideMode)

См. также QTabBar::elideMode, usesScrollButtons и QStyle::SH_TabBar_ElideMode.

iconSize : QSize

Это свойство хранит размер значков в ленте вкладок

Значение по умолчанию зависит от стиля. Это максимальный размер значков. Значки не будут масштабироваться, если их размер меньше.

Это свойство было добавлено в Qt 4.2.

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

QSize iconSize() const
void setIconSize(const QSize &size)

См. также QTabBar::iconSize.

movable : bool

Это свойство указывает, может ли пользователь перемещать вкладки в области ленты вкладок.

По умолчанию это свойство равно false;

Это свойство было добавлено в Qt 4.5.

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

bool isMovable() const
void setMovable(bool movable)

tabBarAutoHide : bool

Если истинно, лента вкладок автоматически скрывается, когда содержит менее 2 вкладок.

По умолчанию это свойство ложно.

Это свойство было добавлено в Qt 5.4.

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

bool tabBarAutoHide() const
void setTabBarAutoHide(bool enabled)

См. также QWidget::visible.

tabPosition : TabPosition

Это свойство хранит положение вкладок в этом виджете вкладок

Возможные значения для этого свойства описаны в перечислении TabPosition.

По умолчанию это свойство установлено в North.

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

QTabWidget::TabPosition tabPosition() const
void setTabPosition(QTabWidget::TabPosition)

См. также TabPosition.

tabShape : TabShape

Это свойство хранит форму вкладок в этом виджете вкладок

Возможные значения для этого свойства — QTabWidget::Rounded (по умолчанию) или QTabWidget::Triangular.

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

QTabWidget::TabShape tabShape() const
void setTabShape(QTabWidget::TabShape s)

См. также TabShape.

tabsClosable : bool

Это свойство указывает, добавляются ли автоматически кнопки закрытия к каждой вкладке.

Это свойство было добавлено в Qt 4.5.

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

bool tabsClosable() const
void setTabsClosable(bool closeable)

См. также QTabBar::tabsClosable().

usesScrollButtons : bool

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

Когда в ленте вкладок слишком много вкладок для ее размера, лента вкладок может либо расширить свой размер, либо добавить кнопки, которые позволяют прокручивать вкладки.

По умолчанию значение зависит от стиля.

Это свойство было добавлено в Qt 4.2.

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

bool usesScrollButtons() const
void setUsesScrollButtons(bool useButtons)

См. также elideMode, QTabBar::usesScrollButtons и QStyle::SH_TabBar_PreferNoArrows.

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

QTabWidget::QTabWidget(QWidget *parent = nullptr)

Конструирует виджет вкладок с родителем parent.

[virtual] QTabWidget::~QTabWidget()

Уничтожает виджет вкладок.

int QTabWidget::addTab(QWidget *page, const QString &label)

Добавляет вкладку с заданной page и label в виджет вкладок и возвращает индекс вкладки в ленте вкладок. Владение page передаётся QTabWidget.

Если label вкладки содержит амперсанд, буква, следующая за амперсандом, используется в качестве сочетания клавиш для вкладки, например, если метка — «Bro&wse», то Alt+W становится сочетанием клавиш, которое переместит фокус на эту вкладку.

Примечание: Если вы вызываете addTab() после show(), система макета попытается скорректировать изменения в иерархии виджетов, что может привести к мерцанию. Чтобы предотвратить это, вы можете установить свойство QWidget::updatesEnabled в ложь перед внесением изменений; не забудьте установить свойство в истинное значение после внесения изменений, чтобы виджет снова получал события рисования.

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

int QTabWidget::addTab(QWidget *page, const QIcon &icon, const QString &label)

Это перегруженный метод.

Добавляет вкладку с заданной страницей, иконкой и меткой в виджет вкладок и возвращает индекс вкладки в панели вкладок. Владение страницей передаётся QTabWidget.

Этот метод эквивалентен методу addTab(), но с дополнительной иконкой.

[override virtual protected] void QTabWidget::changeEvent(QEvent *ev)

Переопределено из QWidget::changeEvent().

void QTabWidget::clear()

Удаляет все страницы, но не удаляет их. Вызов этого метода эквивалентен вызову removeTab() до тех пор, пока виджет вкладок не станет пустым.

QWidget *QTabWidget::cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const

Возвращает виджет, отображаемый в углу виджета вкладок или 0.

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

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

Этот сигнал испускается всякий раз, когда изменяется индекс текущей страницы. Параметром является новое положение индекса текущей страницы index или -1, если его нет (например, если в QTabWidget нет виджетов).

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

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

QWidget *QTabWidget::currentWidget() const

Возвращает указатель на страницу, которая в данный момент отображается диалогом вкладок. Диалог вкладок делает всё возможное, чтобы это значение никогда не было 0 (но если постараться, то оно может быть).

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

[override virtual protected] bool QTabWidget::event(QEvent *ev)

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

[override virtual] bool QTabWidget::hasHeightForWidth() const

Переопределено из QWidget::hasHeightForWidth().

[override virtual] int QTabWidget::heightForWidth(int width) const

Переопределено из QWidget::heightForWidth().

int QTabWidget::indexOf(QWidget *w) const

Возвращает позицию индекса страницы, занимаемой виджетом w, или -1, если виджет не найден.

[protected] void QTabWidget::initStyleOption(QStyleOptionTabWidgetFrame *option) const

Инициализирует option значениями из этого QTabWidget. Этот метод полезен для подклассов, когда им нужен QStyleOptionTabWidgetFrame, но они не хотят заполнять всю информацию самостоятельно.

См. также QStyleOption::initFrom() и QTabBar::initStyleOption().

int QTabWidget::insertTab(int index, QWidget *page, const QString &label)

Вставляет вкладку с заданной меткой и страницей в виджет вкладок по указанному индексу и возвращает индекс вставленной вкладки в панели вкладок. Владение страницей передаётся QTabWidget.

Метка отображается на вкладке и может изменяться в зависимости от конфигурации виджета вкладок.

Если метка вкладки содержит амперсанд, буква, следующая за амперсандом, используется в качестве сочетания клавиш для вкладки, например, если метка — "Обзор", то сочетание Alt+W станет сочетанием клавиш для перевода фокуса на эту вкладку.

Если index находится вне диапазона, вкладка просто добавляется в конец. В противном случае она вставляется в указанную позицию.

Если QTabWidget был пуст перед вызовом этого метода, новая страница станет текущей страницей. Вставка новой вкладки в индекс, меньший или равный текущему индексу, увеличит текущий индекс, но сохранит текущую страницу.

Примечание: Если вы вызываете insertTab() после show(), система макета попытается скорректировать изменения в иерархии виджетов и может вызвать мерцание. Чтобы предотвратить это, вы можете установить свойство QWidget::updatesEnabled в значение false перед изменениями; не забудьте установить свойство в значение true, когда изменения будут выполнены, чтобы виджет снова получал события рисования.

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

int QTabWidget::insertTab(int index, QWidget *page, const QIcon &icon, const QString &label)

Это перегруженный метод.

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

Этот метод эквивалентен методу insertTab(), но с дополнительной иконкой.

bool QTabWidget::isTabEnabled(int index) const

Возвращает true если страница в позиции index включена; в противном случае возвращает false.

См. также setTabEnabled() и QWidget::isEnabled().

[override virtual protected] void QTabWidget::keyPressEvent(QKeyEvent *e)

Переопределено из QWidget::keyPressEvent().

[override virtual] QSize QTabWidget::minimumSizeHint() const

Переопределено из QWidget::minimumSizeHint().

Возвращает подходящий минимальный размер для виджета вкладок.

[override virtual protected] void QTabWidget::paintEvent(QPaintEvent *event)

Переопределено из QWidget::paintEvent().

Рисует панель вкладок виджета вкладок в ответ на событие рисования event.

void QTabWidget::removeTab(int index)

Удаляет вкладку по позиции index из этого стека виджетов. Сам виджет страницы не удаляется.

См. также addTab() и insertTab().

[override virtual protected] void QTabWidget::resizeEvent(QResizeEvent *e)

Переопределено из QWidget::resizeEvent().

void QTabWidget::setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner)

Устанавливает заданный виджет для отображения в указанном углу виджета вкладок. Геометрия виджета определяется на основе его sizeHint() и стиля.

Используется только горизонтальная часть угла.

Передача 0 скрывает виджет в углу.

Любой ранее установленный виджет угла скрывается.

Все установленные здесь виджеты будут удалены виджетом вкладок при его уничтожении, если вы не переродите виджет отдельно после установки другого виджета угла (или 0).

Примечание: Виджеты углов предназначены для позиций вкладок Север и Юг; другие ориентации, как известно, не работают должным образом.

См. также cornerWidget() и setTabPosition().

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

Устанавливает виджет в качестве текущего виджета. Используемый виджет должен быть страницей в этом виджете вкладок.

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

[protected] void QTabWidget::setTabBar(QTabBar *tb)

Заменяет заголовок диалога QTabBar на панель вкладок tb. Обратите внимание, что это необходимо выполнить до добавления вкладок, в противном случае поведение не определено.

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

void QTabWidget::setTabEnabled(int index, bool enable)

Если enable имеет значение true, страница в позиции index включена; в противном случае страница в позиции index отключена. Вкладка страницы перерисовывается соответствующим образом.

QTabWidget использует QWidget::setEnabled() внутри, а не хранит отдельный флаг.

END_OF_DOCUMENT_MARKER

Обратите внимание, что даже отключенная вкладка/страница может быть видимой. Если страница уже видна, QTabWidget её не спрячет; если все страницы отключены, QTabWidget отобразит одну из них.

См. также isTabEnabled() и QWidget::setEnabled().

void QTabWidget::setTabIcon(int index, const QIcon &icon)

Это перегруженный метод.

Устанавливает icon для вкладки на позиции index.

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

void QTabWidget::setTabText(int index, const QString &label)

Определяет новое label для вкладки страницы на позиции index.

Если предоставленный текст содержит символ амперсанд ('&'), для него автоматически создается сочетание клавиш. Символ, следующий за '&', будет использоваться в качестве сочетания клавиш. Любое предыдущее сочетание клавиш будет перезаписано или удалено, если в тексте не определено сочетание клавиш. См. документацию QShortcut для получения подробностей (чтобы отобразить сам символ амперсанд, используйте '&&').

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

void QTabWidget::setTabToolTip(int index, const QString &tip)

Устанавливает подсказку для вкладки на странице с индексом index на tip.

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

void QTabWidget::setTabWhatsThis(int index, const QString &text)

Устанавливает текст справки What's This для страницы на позиции index на text.

Эта функция была добавлена в Qt 4.1.

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

[override virtual protected] void QTabWidget::showEvent(QShowEvent *)

Переопределено из QWidget::showEvent().

[override virtual] QSize QTabWidget::sizeHint() const

Переопределено из QWidget::sizeHint().

QTabBar *QTabWidget::tabBar() const

Возвращает текущую QTabBar.

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

[signal] void QTabWidget::tabBarClicked(int index)

Этот сигнал испускается, когда пользователь нажимает на вкладку с индексом index.

index соответствует нажатой вкладке или -1, если под курсором нет вкладки.

Эта функция была добавлена в Qt 5.2.

[signal] void QTabWidget::tabBarDoubleClicked(int index)

Этот сигнал испускается, когда пользователь дважды нажимает на вкладку с индексом index.

index — индекс нажатой вкладки, или -1, если под курсором нет вкладки.

Эта функция была добавлена в Qt 5.2.

[signal] void QTabWidget::tabCloseRequested(int index)

Этот сигнал испускается, когда нажат закрывающий значок вкладки. index — индекс вкладки, которую нужно удалить.

Эта функция была добавлена в Qt 4.5.

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

QIcon QTabWidget::tabIcon(int index) const

Возвращает значок вкладки на странице с индексом index.

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

[virtual protected] void QTabWidget::tabInserted(int index)

Этот виртуальный обработчик вызывается после добавления новой вкладки на позицию index.

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

[virtual protected] void QTabWidget::tabRemoved(int index)

Этот виртуальный обработчик вызывается после удаления вкладки с позиции index.

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

QString QTabWidget::tabText(int index) const

Возвращает текст метки вкладки на странице с индексом index.

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

QString QTabWidget::tabToolTip(int index) const

Возвращает подсказку для вкладки на странице с индексом index, или пустую строку, если подсказка не задана.

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

QString QTabWidget::tabWhatsThis(int index) const

Возвращает текст справки What's This для страницы на позиции index или пустую строку, если текст справки не задан.

Эта функция была добавлена в Qt 4.1.

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

QWidget *QTabWidget::widget(int index) const

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

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

Spec-Zone.ru

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