Spec-Zone.ru › Qt 5.13

Класс QTabBar

Класс QTabBar предоставляет панель вкладок, например, для использования в диалоговых окнах с вкладками. Подробнее...

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

Общие типы

Перечисление ButtonPosition { LeftSide, RightSide }
Перечисление SelectionBehavior { SelectLeftTab, SelectRightTab, SelectPreviousTab }
Перечисление Форма { RoundedNorth, RoundedSouth, RoundedWest, RoundedEast, ..., TriangularEast }

Свойства

  • autoHide : bool
  • changeCurrentOnDrag : bool
  • count : const int
  • currentIndex : int
  • documentMode : bool
  • drawBase : bool
  • elideMode : Qt::TextElideMode
  • expanding : bool
  • iconSize : QSize
  • movable : bool
  • selectionBehaviorOnRemove : SelectionBehavior
  • форма : Shape
  • tabsClosable : bool
  • usesScrollButtons : bool

Общедоступные функции

QTabBar(QWidget *parent = nullptr)
virtual ~QTabBar()
QString accessibleTabName(int index) const
int addTab(const QString &text)
int addTab(const QIcon &icon, const QString &text)
bool autoHide() const
bool changeCurrentOnDrag() const
int count() const
int currentIndex() const
bool documentMode() const
bool drawBase() const
Qt::TextElideMode elideMode() const
bool expanding() const
QSize iconSize() const
int insertTab(int index, const QString &text)
int insertTab(int index, const QIcon &icon, const QString &text)
bool isMovable() const
bool isTabEnabled(int index) const
void moveTab(int from, int to)
void removeTab(int index)
QTabBar::SelectionBehavior selectionBehaviorOnRemove() const
void setAccessibleTabName(int index, const QString &name)
void setAutoHide(bool hide)
void setChangeCurrentOnDrag(bool change)
void setDocumentMode(bool set)
void setDrawBase(bool drawTheBase)
void setElideMode(Qt::TextElideMode)
void setExpanding(bool enabled)
void setIconSize(const QSize &size)
void setMovable(bool movable)
void setSelectionBehaviorOnRemove(QTabBar::SelectionBehavior behavior)
void setShape(QTabBar::Shape shape)
void setTabButton(int index, QTabBar::ButtonPosition position, QWidget *widget)
void setTabData(int index, const QVariant &data)
void setTabEnabled(int index, bool enabled)
void setTabIcon(int index, const QIcon &icon)
void setTabText(int index, const QString &text)
void setTabTextColor(int index, const QColor &color)
void setTabToolTip(int index, const QString &tip)
void setTabWhatsThis(int index, const QString &text)
void setTabsClosable(bool closable)
void setUsesScrollButtons(bool useButtons)
QTabBar::Shape shape() const
int tabAt(const QPoint &position) const
QWidget * tabButton(int index, QTabBar::ButtonPosition position) const
QVariant tabData(int index) const
QIcon tabIcon(int index) const
QRect tabRect(int index) const
QString tabText(int index) const
QColor tabTextColor(int index) const
QString tabToolTip(int index) const
QString tabWhatsThis(int index) const
bool tabsClosable() const
bool usesScrollButtons() const

Реализованные публичные функции

virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override

Публичные слоты

void setCurrentIndex(int index)

Сигналы

void currentChanged(int index)
void tabBarClicked(int index)
void tabBarDoubleClicked(int index)
void tabCloseRequested(int index)
void tabMoved(int from, int to)

Protected Functions

void initStyleOption(QStyleOptionTab *option, int tabIndex) const
virtual QSize minimumTabSizeHint(int index) const
virtual void tabInserted(int index)
virtual void tabLayoutChange()
virtual void tabRemoved(int index)
virtual QSize tabSizeHint(int index) const

Reimplemented Protected Functions

virtual void changeEvent(QEvent *event) override
virtual bool event(QEvent *event) override
virtual void hideEvent(QHideEvent *) override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void mouseMoveEvent(QMouseEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void mouseReleaseEvent(QMouseEvent *event) override
virtual void paintEvent(QPaintEvent *) override
virtual void resizeEvent(QResizeEvent *) override
virtual void showEvent(QShowEvent *) override
virtual void timerEvent(QTimerEvent *event) override
virtual void wheelEvent(QWheelEvent *event) override

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

QTabBar прост в использовании; он рисует вкладки, используя один из предопределённых видов, и излучает сигнал, когда вкладка выбрана. Его можно расширить, чтобы настроить внешний вид. Qt также предоставляет готовый QTabWidget.

Каждая вкладка имеет текст вкладки, необязательный значок вкладки, необязательный подсказку вкладки, необязательный WhatsThis вкладки и необязательные данные вкладки. Атрибуты вкладок можно изменить с помощью setTabText(), setTabIcon(), setTabToolTip(), setTabWhatsThis и setTabData(). Каждая вкладка может быть включена или выключена индивидуально с помощью setTabEnabled().

Каждая вкладка может отображать текст в различных цветах. Текущий цвет текста для вкладки можно найти с помощью функции tabTextColor(). Установите цвет текста для конкретной вкладки с помощью setTabTextColor().

Вкладки добавляются с помощью addTab() или вставляются в определённые позиции с помощью insertTab(). Общее количество вкладок задаётся свойством count(). Вкладки могут быть удалены из панели вкладок с помощью removeTab(). Объединение removeTab() и insertTab() позволяет перемещать вкладки в разные позиции.

Свойство shape определяет внешний вид вкладок. Выбор формы является вопросом вкуса, хотя диалоговые окна вкладок (для предпочтений и подобного) неизменно используют RoundedNorth. Элементы управления вкладками в окнах, отличных от диалоговых окон, почти всегда используют либо RoundedSouth, либо TriangularSouth. Многие электронные таблицы и другие элементы управления вкладками, в которых все страницы по существу одинаковы, используют TriangularSouth, тогда как RoundedSouth используется в основном, когда страницы различны (например, многостраничная панель инструментов). По умолчанию в QTabBar используется RoundedNorth.

Самой важной частью API QTabBar является сигнал currentChanged(). Он излучается всякий раз, когда текущая вкладка изменяется (даже при запуске, когда текущая вкладка меняется с «нет»). Также есть слот setCurrentIndex(), который можно использовать для выбора вкладки программно. Функция currentIndex() возвращает индекс текущей вкладки, а count содержит количество вкладок.

QTabBar создаёт автоматические мнемонические ключи по аналогии с QAbstractButton; например, если метка вкладки — «&Графика», то Alt+G становится клавишей быстрого доступа для переключения на эту вкладку.

Следующие виртуальные функции могут потребовать реализации в подклассах, чтобы настроить внешний вид или хранить дополнительные данные с каждой вкладкой:

  • tabSizeHint() вычисляет размер вкладки.
  • tabInserted() уведомляет о добавлении новой вкладки.
  • tabRemoved() уведомляет об удалении вкладки.
  • tabLayoutChange() уведомляет о перераспределении вкладок.
  • paintEvent() рисует все вкладки.

Для подклассов также могут потребоваться функции tabRect(), которые возвращают визуальную геометрию отдельной вкладки.

Screenshot of a Fusion style tab bar Панель вкладок, показанная в стиле виджета Fusion.
Screenshot of a truncated Fusion tab bar Усечённая панель вкладок, показанная в стиле виджета Fusion.

См. также QTabWidget.

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

enum QTabBar::ButtonPosition

Этот перечисление указывает расположение виджета на вкладке.

Константа Значение Описание
QTabBar::LeftSide 0 Левая сторона вкладки.
QTabBar::RightSide 1 Правая сторона вкладки.

Это перечисление было введено или изменено в Qt 4.5.

enum QTabBar::SelectionBehavior

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

Константа Значение Описание
QTabBar::SelectLeftTab 0 Выберите вкладку слева от удаляемой.
QTabBar::SelectRightTab 1 Выберите вкладку справа от удаляемой.
QTabBar::SelectPreviousTab 2 Выберите ранее выбранную вкладку.

Это перечисление было введено или изменено в Qt 4.5.

enum QTabBar::Shape

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

Константа Значение Описание
QTabBar::RoundedNorth 0 Обычный закругленный вид над страницами
QTabBar::RoundedSouth 1 Обычный закругленный вид под страницами
QTabBar::RoundedWest 2 Обычный закругленный вид слева от страниц
QTabBar::RoundedEast 3 Обычный закругленный вид справа от страниц
QTabBar::TriangularNorth 4 Треугольные вкладки над страницами.
QTabBar::TriangularSouth 5 Треугольные вкладки, аналогичные используемым в электронных таблицах Excel, например.
QTabBar::TriangularWest 6 Треугольные вкладки слева от страниц.
QTabBar::TriangularEast 7 Треугольные вкладки справа от страниц.

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

autoHide : bool

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

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

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

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

bool autoHide() const
void setAutoHide(bool hide)

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

changeCurrentOnDrag : bool

Если значение истинно, текущая вкладка автоматически меняется при перетаскивании над панелью вкладок.

Примечание: Для работы этой функции также необходимо установить свойство acceptDrops в значение истинно.

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

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

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

bool changeCurrentOnDrag() const
void setChangeCurrentOnDrag(bool change)

count : const int

Это свойство содержит количество вкладок на панели вкладок.

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

int count() const

currentIndex : int

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

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

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

int currentIndex() const
void setCurrentIndex(int index)

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

void currentChanged(int index)

documentMode : bool

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

Это свойство используется как подсказка для стилей, чтобы нарисовать вкладки другим способом, чем обычно в виджете вкладок. В macOS оно будет выглядеть подобно вкладкам в Safari или терминале Sierra.

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

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

bool documentMode() const
void setDocumentMode(bool set)

См. также QTabWidget::documentMode.

drawBase : bool

Определяет, должна ли панель вкладок рисовать свою базу.

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

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

bool drawBase() const
void setDrawBase(bool drawTheBase)

См. также QStyle::pixelMetric(), QStyle::PM_TabBarBaseOverlap и QStyleOptionTabBarBase.

elideMode : Qt::TextElideMode

Как обрезать текст на панели вкладок.

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

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

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

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

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

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

expanding : bool

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

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

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

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

bool expanding() const
void setExpanding(bool enabled)

См. также QTabWidget::documentMode.

iconSize : QSize

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

Значение по умолчанию зависит от стиля. iconSize - максимальный размер; иконки меньшего размера не масштабируются.

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

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

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

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

movable : bool

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

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

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

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

bool isMovable() const
void setMovable(bool movable)

selectionBehaviorOnRemove : SelectionBehavior

Какая вкладка должна быть установлена как текущая, когда вызывается removeTab, если удаляемая вкладка также является текущей.

По умолчанию значение SelectRightTab.

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

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

QTabBar::SelectionBehavior selectionBehaviorOnRemove() const
void setSelectionBehaviorOnRemove(QTabBar::SelectionBehavior behavior)

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

shape : Shape

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

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

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

QTabBar::Shape shape() const
void setShape(QTabBar::Shape shape)

tabsClosable : bool

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

Когда tabsClosable установлено в истинное значение, кнопка закрытия появится на вкладке, слева или справа в зависимости от стиля. При нажатии кнопки будет выпущен сигнал tabCloseRequested.

По умолчанию значение ложь.

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

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

bool tabsClosable() const
void setTabsClosable(bool closable)

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

usesScrollButtons : bool

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

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

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

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

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

bool usesScrollButtons() const
void setUsesScrollButtons(bool useButtons)

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

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

QTabBar::QTabBar(QWidget *parent = nullptr)

Создаёт новую вкладку с заданным parent.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[signal] void QTabBar::tabMoved(int from, int to)

Этот сигнал испускается, когда вкладка с индексом from перемещена на позицию с индексом to.

Примечание: QTabWidget автоматически переместит страницу, когда этот сигнал испущен из его панели вкладок.

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

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

[virtual] QTabBar::~QTabBar()

Удаляет панель вкладок.

QString QTabBar::accessibleTabName(int index) const

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

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

int QTabBar::addTab(const QString &text)

Добавляет новую вкладку с текстом text. Возвращает индекс новой вкладки.

int QTabBar::addTab(const QIcon &icon, const QString &text)

Это перегруженная функция.

Добавляет новую вкладку с иконкой icon и текстом text. Возвращает индекс новой вкладки.

[override virtual protected] void QTabBar::changeEvent(QEvent *event)

Переопределяет: QWidget::changeEvent(QEvent *event).

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

Переопределяет: QWidget::event(QEvent *event).

[override virtual protected] void QTabBar::hideEvent(QHideEvent *)

Переопределяет: QWidget::hideEvent(QHideEvent *event).

[protected] void QTabBar::initStyleOption(QStyleOptionTab *option, int tabIndex) const

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

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

int QTabBar::insertTab(int index, const QString &text)

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

int QTabBar::insertTab(int index, const QIcon &icon, const QString &text)

Это перегруженная функция.

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

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

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

bool QTabBar::isTabEnabled(int index) const

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

[override virtual protected] void QTabBar::keyPressEvent(QKeyEvent *event)

Переопределяет: QWidget::keyPressEvent(QKeyEvent *event).

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

Переопределяет: QWidget::minimumSizeHint() const.

[virtual protected] QSize QTabBar::minimumTabSizeHint(int index) const

Возвращает рекомендуемый минимальный размер вкладки на позиции index.

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

[override virtual protected] void QTabBar::mouseMoveEvent(QMouseEvent *event)

Переопределяет: QWidget::mouseMoveEvent(QMouseEvent *event).

[override virtual protected] void QTabBar::mousePressEvent(QMouseEvent *event)

Переопределяет: QWidget::mousePressEvent(QMouseEvent *event).

[override virtual protected] void QTabBar::mouseReleaseEvent(QMouseEvent *event)

Переопределяет: QWidget::mouseReleaseEvent(QMouseEvent *event).

void QTabBar::moveTab(int from, int to)

Перемещает элемент с индексом from на позицию с индексом to.

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

См. также tabMoved() и tabLayoutChange().

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

Переопределяет: QWidget::paintEvent(QPaintEvent *event).

void QTabBar::removeTab(int index)

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

См. также SelectionBehavior.

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

Переопределяет: QWidget::resizeEvent(QResizeEvent *event).

void QTabBar::setAccessibleTabName(int index, const QString &name)

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

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

void QTabBar::setTabButton(int index, QTabBar::ButtonPosition position, QWidget *widget)

Устанавливает widget на вкладке с индексом index. Виджет размещается слева или справа в зависимости от position.

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

Панель вкладок получит владение виджетом, поэтому все виджеты, установленные здесь, будут удалены панелью вкладок при её уничтожении, если вы не переприсоедините виджет после установки другого виджета (или nullptr).

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

См. также tabButton() и tabsClosable().

void QTabBar::setTabData(int index, const QVariant &data)

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

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

void QTabBar::setTabEnabled(int index, bool enabled)

Если enabled истинно, то вкладка по позиции index включена; в противном случае элемент по позиции index отключен.

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

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

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

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

void QTabBar::setTabText(int index, const QString &text)

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

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

void QTabBar::setTabTextColor(int index, const QColor &color)

Устанавливает цвет текста вкладки с заданным index на указанный color.

Если указан недопустимый цвет, вкладка будет использовать роль foreground QTabBar вместо этого.

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

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

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

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

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

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

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

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

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

Переопределяет: QWidget::showEvent(QShowEvent *event).

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

Переопределяет: QWidget::sizeHint() const.

int QTabBar::tabAt(const QPoint &position) const

Возвращает индекс вкладки, которая покрывает position, или -1, если ни одна вкладка не покрывает position.

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

QWidget *QTabBar::tabButton(int index, QTabBar::ButtonPosition position) const

Возвращает виджет, установленный для вкладки index и position, или nullptr, если такого виджета нет.

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

QVariant QTabBar::tabData(int index) const

Возвращает данные вкладки по позиции index или пустой QVariant, если index вне диапазона.

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

QIcon QTabBar::tabIcon(int index) const

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

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

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

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

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

[virtual protected] void QTabBar::tabLayoutChange()

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

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

QRect QTabBar::tabRect(int index) const

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

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

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

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

[virtual protected] QSize QTabBar::tabSizeHint(int index) const

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

QString QTabBar::tabText(int index) const

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

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

QColor QTabBar::tabTextColor(int index) const

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

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

QString QTabBar::tabToolTip(int index) const

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

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

QString QTabBar::tabWhatsThis(int index) const

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

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

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

[override virtual protected] void QTabBar::timerEvent(QTimerEvent *event)

Переопределяет: QObject::timerEvent(QTimerEvent *event).

[override virtual protected] void QTabBar::wheelEvent(QWheelEvent *event)

Переопределяет: QWidget::wheelEvent(QWheelEvent *event).

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

Spec-Zone.ru

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