Spec-Zone.ru › Qt 5.14

Класс QTabBar

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

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

Типы публичного доступа

Перечисление ButtonPosition { LeftSide, RightSide }
Перечисление SelectionBehavior { SelectLeftTab, SelectRightTab, SelectPreviousTab }
Перечисление Shape { RoundedNorth, RoundedSouth, RoundedWest, RoundedEast, TriangularNorth, …, 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 : 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 проста в использовании; она рисует вкладки, используя один из предопределённых видов, и излучает сигнал, когда вкладка выбрана. Она может быть расширена для настройки внешнего вида.

Каждая вкладка имеет текст, необязательный значок, необязательный подсказку, необязательный 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.

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

перечисление QTabBar::ButtonPosition

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

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

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

перечисление QTabBar::SelectionBehavior

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

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

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

перечисление 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

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

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

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

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

bool autoHide() const
void setAutoHide(bool hide)

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

changeCurrentOnDrag : bool

Если true, текущая вкладка автоматически меняется при перетаскивании над таб-баром.

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

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

Это свойство было введено в 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 или приложении Terminal в Sierra.

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

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

bool documentMode() const
void setDocumentMode(bool set)

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

drawBase : bool

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

Если true, то 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 увеличивает вкладки, чтобы использовать пустое пространство.

По умолчанию значение равно true.

Это свойство было введено в 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 установлено в true, на вкладке появится кнопка закрытия слева или справа в зависимости от стиля. При нажатии кнопки будет отправлен сигнал tabCloseRequested.

По умолчанию значение равно false.

Это свойство было введено в 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.

[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 равно true, вкладка на позиции 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.

Если указан некорректный цвет, вкладка будет использовать роль переднего плана 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.

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 или нулевой вариант, если 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.14/qtabbar.html

Spec-Zone.ru

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