Класс QTabBar
Класс QTabBar предоставляет панель вкладок, например, для использования в диалоговых окнах с вкладками. Подробнее...
| Заголовок: | #include <QTabBar> |
| qmake: | QT += widgets |
| Наследует: | QWidget |
Типы
| Перечисление | ButtonPosition { ЛеваяСторона, ПраваяСторона } |
| Перечисление | SelectionBehavior { ВыбратьЛевуюВкладку, ВыбратьПравуюВкладку, ВыбратьПредыдущуюВкладку } |
| Перечисление | Форма { СкругленныйСевер, СкругленныйЮг, СкругленныйЗапад, СкругленныйВосток, ..., ТреугольныйВосток } |
Свойства
|
|
Открытые функции
| QTabBar(QWidget *parent = Q_NULLPTR) | |
| ~QTabBar() | |
| 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 | 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 |
- 211 общедоступные функции, унаследованные от QWidget
- 31 общедоступные функции, унаследованные от 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 прост в использовании; он рисует вкладки, используя один из предопределённых видов, и излучает сигнал, когда вкладка выбирается. Он может быть подклассом, чтобы настроить внешний вид.
Каждая вкладка имеет текст вкладки, необязательный иконку вкладки, необязательный подсказку вкладки, необязательный 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(). Он излучается всякий раз, когда текущая вкладка меняется (даже при запуске, когда текущая вкладка меняется с 'none'). Также есть слот 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 или Terminal.app Leopard.
Это свойство было добавлено в 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()
Удаляет вкладку.
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::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.
Если указан недопустимый цвет, вкладка будет использовать роль foreground QTabBar вместо этого.
См. также 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
Возвращает текст справки What's This для вкладки с индексом 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/archives/qt-5.6/qtabbar.html