Класс QTabBar
Класс QTabBar предоставляет панель вкладок, например, для использования в диалогах с вкладками. Подробнее...
| Заголовок: | #include <QTabBar> |
| qmake: | QT += widgets |
| Наследуется от: | QWidget |
Открытые типы
| Перечисление | ButtonPosition { ЛеваяСторона, ПраваяСторона } |
| Перечисление | SelectionBehavior { ВыбратьЛевуюВкладку, ВыбратьПравуюВкладку, ВыбратьПредыдущуюВкладку } |
| Перечисление | Форма { СкругленныйСевер, СкругленныйЮг, СкругленныйЗапад, СкругленныйВосток, ..., ТреугольныйВосток } |
Свойства
|
|
Открытые функции
| QTabBar(QWidget *parent = Q_NULLPTR) | |
| ~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) |
| 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(SelectionBehavior behavior) |
| void | setShape(Shape shape) |
| void | setTabButton(int index, 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) |
| Shape | shape() const |
| int | tabAt(const QPoint &position) const |
| QWidget * | tabButton(int index, 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 |
| virtual QSize | sizeHint() const |
- 214 публичных функций, унаследованных от QWidget
- 32 публичных функций, унаследованных от QObject
- 14 публичных функций, унаследованных от QPaintDevice
Публичные слоты
| 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) |
Защищенные функции
| void | initStyleOption(QStyleOptionTab *option, int tabIndex) const |
| QSize | minimumTabSizeHint(int index) const |
| void | tabInserted(int index) |
| void | tabLayoutChange() |
| void | tabRemoved(int index) |
| QSize | tabSizeHint(int index) const |
Переопределенные защищенные функции
| void | changeEvent(QEvent *event) |
| bool | event(QEvent *event) |
| void | hideEvent(QHideEvent *) |
| void | keyPressEvent(QKeyEvent *event) |
| void | mouseMoveEvent(QMouseEvent *event) |
| void | mousePressEvent(QMouseEvent *event) |
| void | mouseReleaseEvent(QMouseEvent *event) |
| void | paintEvent(QPaintEvent *) |
| void | resizeEvent(QResizeEvent *) |
| void | showEvent(QShowEvent *) |
| void | timerEvent(QTimerEvent *event) |
| void | wheelEvent(QWheelEvent *event) |
- 35 защищенных функций унаследованы от QWidget
- 9 защищенных функций унаследованы от QObject
- 1 защищенная функция унаследована от QPaintDevice
Дополнительные унаследованные члены
- 5 статических публичных членов унаследованы от QWidget
- 11 статических публичных членов унаследованы от QObject
- 1 защищенный слот унаследован от QWidget
Подробное описание
Класс QTabBar предоставляет панель вкладок, например, для использования в диалоговых окнах с вкладками.
QTabBar прост в использовании; он отображает вкладки, используя один из предопределенных видов, и излучает сигнал при выборе вкладки. Его можно расширить для настройки внешнего вида.
Каждая вкладка имеет текст вкладки, необязательный значок вкладки, необязательный подсказку вкладки, необязательный справочник вкладки и необязательные данные вкладки. Атрибуты вкладок можно изменить с помощью 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(), которые возвращают визуальную геометрию отдельной вкладки.
| Панель вкладок, показанная в стиле виджета Fusion. | |
| Усеченная панель вкладок, показанная в стиле виджета 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.
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
Если значение 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 или терминале 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.
Функции доступа:
| SelectionBehavior | selectionBehaviorOnRemove() const |
| void | setSelectionBehaviorOnRemove(SelectionBehavior behavior) |
См. также removeTab().
shape : Shape
Это свойство содержит форму вкладок на панели вкладок.
Возможные значения для этого свойства описаны в перечислении Shape.
Функции доступа:
| Shape | shape() const |
| void | setShape(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 = Q_NULLPTR)
Создаёт новую вкладку с заданным parent.
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. Возвращает индекс новой вкладки.
[virtual protected] void QTabBar::changeEvent(QEvent *event)
Переопределяет QWidget::changeEvent().
[signal] void QTabBar::currentChanged(int index)
Этот сигнал излучается, когда текущая вкладка вкладки меняется. Новая текущая имеет заданный index или -1, если новой нет (например, если нет вкладок в QTabBar).
Примечание: Сигнал-уведомления для свойства currentIndex.
[virtual protected] bool QTabBar::event(QEvent *event)
Переопределяет QObject::event().
[virtual protected] void QTabBar::hideEvent(QHideEvent *)
Переопределяет QWidget::hideEvent().
[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.
[virtual protected] void QTabBar::keyPressEvent(QKeyEvent *event)
Переопределяет QWidget::keyPressEvent().
[virtual] QSize QTabBar::minimumSizeHint() const
Переопределяет QWidget::minimumSizeHint().
[virtual protected] QSize QTabBar::minimumTabSizeHint(int index) const
Возвращает рекомендуемый минимальный размер вкладки в позиции index.
Эта функция была введена в Qt 5.0.
[virtual protected] void QTabBar::mouseMoveEvent(QMouseEvent *event)
Переопределяет QWidget::mouseMoveEvent().
[virtual protected] void QTabBar::mousePressEvent(QMouseEvent *event)
Переопределяет QWidget::mousePressEvent().
[virtual protected] void QTabBar::mouseReleaseEvent(QMouseEvent *event)
Переопределяет QWidget::mouseReleaseEvent().
void QTabBar::moveTab(int from, int to)
Перемещает элемент с индексом from в позицию to.
Эта функция была введена в Qt 4.5.
См. также tabMoved() и tabLayoutChange().
[virtual protected] void QTabBar::paintEvent(QPaintEvent *)
Переопределяет QWidget::paintEvent().
void QTabBar::removeTab(int index)
Удаляет вкладку в позиции index.
См. также SelectionBehavior.
[virtual protected] void QTabBar::resizeEvent(QResizeEvent *)
Переопределяет QWidget::resizeEvent().
void QTabBar::setAccessibleTabName(int index, const QString &name)
Устанавливает accessibleName вкладки в позиции index на name.
См. также accessibleTabName().
void QTabBar::setTabButton(int index, ButtonPosition position, QWidget *widget)
Устанавливает widget на вкладке index. Виджет размещается слева или справа в зависимости от position.
Любой ранее установленный виджет в position скрывается.
Вкладка возьмёт владение виджетом, и все виджеты, установленные здесь, будут удалены вкладкой при её уничтожении, если вы не переродите виджет отдельно после установки другого виджета (или 0).
Эта функция была введена в 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 foreground вместо этого.
См. также tabTextColor().
void QTabBar::setTabToolTip(int index, const QString &tip)
Устанавливает подсказку для вкладки в позиции index на tip.
См. также tabToolTip().
void QTabBar::setTabWhatsThis(int index, const QString &text)
Устанавливает текст справки Что это для вкладки в позиции index на text.
Эта функция была добавлена в Qt 4.1.
См. также tabWhatsThis().
[virtual protected] void QTabBar::showEvent(QShowEvent *)
Переопределено из QWidget::showEvent().
[virtual] QSize QTabBar::sizeHint() const
Переопределено из QWidget::sizeHint().
int QTabBar::tabAt(const QPoint &position) const
Возвращает индекс вкладки, покрывающей position, или -1, если ни одна вкладка не покрывает position;
Эта функция была добавлена в Qt 4.3.
[signal] void QTabBar::tabBarClicked(int index)
Этот сигнал излучается, когда пользователь нажимает на вкладку с индексом index.
index — индекс нажатой вкладки, или -1, если под курсором нет вкладки.
Эта функция была добавлена в Qt 5.2.
[signal] void QTabBar::tabBarDoubleClicked(int index)
Этот сигнал излучается, когда пользователь дважды щелкает по вкладке с индексом index.
index — индекс нажатой вкладки, или -1, если под курсором нет вкладки.
Эта функция была добавлена в Qt 5.2.
QWidget *QTabBar::tabButton(int index, ButtonPosition position) const
Возвращает виджет, установленный для вкладки с индексом index и позицией position, или 0, если виджет не установлен.
См. также setTabButton().
[signal] void QTabBar::tabCloseRequested(int index)
Этот сигнал излучается при нажатии на кнопку закрытия вкладки. index — индекс вкладки, которую следует удалить.
Эта функция была добавлена в Qt 4.5.
См. также setTabsClosable().
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().
[signal] void QTabBar::tabMoved(int from, int to)
Этот сигнал излучается, когда вкладка переместилась из позиции from в позицию to.
Примечание: QTabWidget автоматически переместит страницу при излучении этого сигнала из его панели вкладок.
Эта функция была добавлена в Qt 4.5.
См. также moveTab().
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
Возвращает текст справки Что это для вкладки с индексом index или пустую строку, если index находится за пределами диапазона.
Эта функция была добавлена в Qt 4.1.
См. также setTabWhatsThis().
[virtual protected] void QTabBar::timerEvent(QTimerEvent *event)
Переопределено из QObject::timerEvent().
[virtual protected] void QTabBar::wheelEvent(QWheelEvent *event)
Переопределено из QWidget::wheelEvent().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qtabbar.html