PySide6.QtWidgets.QTabBar

class QTabBar

QTabBar 类提供了一个标签栏,例如用于标签对话框。更多

PySide6.QtWidgets.QTabBar 的继承图

概要

属性

  • autoHideᅟ - 如果为true,当标签栏包含少于2个标签时,标签栏会自动隐藏

  • changeCurrentOnDragᅟ - 如果为true,则在拖动到标签栏时自动更改当前标签

  • countᅟ - 标签栏中的标签数量

  • currentIndexᅟ - 标签栏可见标签的索引

  • documentModeᅟ - 标签栏是否以适合主窗口的模式呈现

  • drawBaseᅟ - 定义是否绘制标签栏的底部

  • elideModeᅟ - 如何在标签栏中省略文本

  • expandingᅟ - 当expanding为true时,QTabBar将扩展标签以使用空白空间

  • iconSizeᅟ - 标签栏中图标的大小

  • movableᅟ - 此属性表示用户是否可以在标签栏区域内移动标签

  • selectionBehaviorOnRemoveᅟ - 当调用removeTab时,如果被移除的标签也是当前标签,应该将哪个标签设置为当前标签

  • shapeᅟ - 标签栏中标签的形状

  • tabsClosableᅟ - 标签栏是否应在每个标签上放置关闭按钮

  • usesScrollButtonsᅟ - 当标签栏有很多标签时,是否应该使用按钮来滚动标签

方法

虚拟方法

插槽

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

QTabBar 使用起来非常简单;它使用预定义的 shapes 绘制标签,并在选择标签时发出信号。可以对其进行子类化以定制外观和感觉。Qt 还提供了一个现成的 QTabWidget

每个标签都有一个tabText(),一个可选的tabIcon(),一个可选的tabToolTip(),可选的tabWhatsThis()和可选的tabData()。标签的属性可以通过setTabText()setTabIcon()setTabToolTip()setTabWhatsThissetTabData()来更改。每个标签可以通过setTabEnabled()单独启用或禁用。

每个标签可以显示不同颜色的文本。当前标签的文本颜色可以通过tabTextColor()函数找到。使用setTabTextColor()设置特定标签的文本颜色。

标签页通过addTab()添加,或使用insertTab()在特定位置插入。标签页的总数由count()给出。可以使用removeTab()从标签栏中移除标签页。结合removeTab()insertTab()可以将标签页移动到不同的位置。

shape 属性定义了标签的外观。形状的选择是个人品味的问题,尽管标签对话框(用于偏好设置等)总是使用 RoundedNorth。非对话框窗口中的标签控件几乎总是使用 RoundedSouthTriangularSouth。许多电子表格和其他所有页面基本相似的标签控件使用 TriangularSouth,而 RoundedSouth 主要用于页面不同的情况(例如多页工具面板)。QTabBar 中的默认值是 RoundedNorth

QTabBar API 中最重要的部分是 currentChanged() 信号。每当当前标签页发生变化时(甚至在启动时,当当前标签页从“无”变化时),都会发出此信号。还有一个槽函数 setCurrentIndex(),可以用于以编程方式选择一个标签页。函数 currentIndex() 返回当前标签页的索引,count 保存标签页的数量。

QTabBarQAbstractButton 的方式创建自动助记键;例如,如果标签的标题是“&Graphics”,则 Alt+G 成为切换到该标签的快捷键。

以下虚拟函数可能需要重新实现,以便定制外观和感觉或为每个标签存储额外数据:

对于子类,您可能还需要tabRect()函数,它返回单个选项卡的可视几何形状。

fusion-tabbar1

Fusion小部件样式中显示的标签栏。

fusion-tabbar-truncated2

以Fusion小部件样式显示的截断标签栏。

另请参阅

QTabWidget

class Shape

此枚举类型列出了QTabBar支持的内置形状。将这些视为提示,因为某些样式可能无法呈现某些形状。然而,位置应该被遵守。

常量

描述

QTabBar.RoundedNorth

页面顶部的正常圆角外观

QTabBar.RoundedSouth

页面下方的正常圆角外观

QTabBar.RoundedWest

页面左侧的正常圆角外观

QTabBar.RoundedEast

页面右侧的正常圆角外观

QTabBar.TriangularNorth

页面上的三角形标签。

QTabBar.TriangularSouth

类似于Excel电子表格中使用的三角形标签

QTabBar.TriangularWest

页面左侧的三角形标签。

QTabBar.TriangularEast

页面右侧的三角形标签。

class ButtonPosition

此枚举类型列出了小部件在选项卡上的位置。

常量

描述

QTabBar.LeftSide

标签的左侧。

QTabBar.RightSide

标签的右侧。

class SelectionBehavior

此枚举类型列出了当移除一个标签页且被移除的标签页也是当前标签页时,QTabBar 的行为。

常量

描述

QTabBar.SelectLeftTab

选择被移除标签左侧的标签。

QTabBar.SelectRightTab

选择被移除标签右侧的标签。

QTabBar.SelectPreviousTab

选择之前选中的标签页。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property autoHideᅟ: bool

此属性表示如果为真,当标签栏包含少于2个标签时,标签栏将自动隐藏。

默认情况下,此属性为 false。

另请参阅

visible

Access functions:
property changeCurrentOnDragᅟ: bool

此属性表示如果为真,则在拖动标签栏时自动更改当前标签。

注意

您还应将acceptDrops属性设置为true以使此功能生效。

默认情况下,此属性为 false。

Access functions:
property countᅟ: int

此属性保存标签栏中的标签数量。

Access functions:
property currentIndexᅟ: int

此属性保存标签栏可见标签的索引。

如果没有当前选项卡,则当前索引为-1。

Access functions:
property documentModeᅟ: bool

此属性保存选项卡栏是否以适合主窗口的模式呈现。

此属性用作样式的提示,以不同于标签小部件中通常显示的方式绘制标签。在macOS上,这将看起来类似于Safari或Sierra的Terminal.app中的标签。

另请参阅

documentMode

Access functions:
property drawBaseᅟ: bool

此属性定义标签栏是否应绘制其基础。

如果为真,则QTabBar会根据样式的重叠绘制一个基础。否则只绘制标签。

Access functions:
property elideModeᅟ: Qt.TextElideMode

此属性控制如何在标签栏中省略文本。

此属性控制在给定标签栏大小下,当没有足够空间显示项目时,如何省略项目。

默认情况下,该值是依赖于样式的。

Access functions:
property expandingᅟ: bool

此属性表示当展开为真时,QTabBar 将扩展标签以使用空白空间。

默认情况下,值为 true。

另请参阅

documentMode

Access functions:
property iconSizeᅟ: QSize

此属性保存标签栏中图标的大小。

默认值是样式相关的。iconSize 是最大尺寸;较小的图标不会被放大。

另请参阅

iconSize

Access functions:
property movableᅟ: bool

此属性表示用户是否可以在标签栏区域内移动标签。

默认情况下,此属性为 false;

Access functions:
property selectionBehaviorOnRemoveᅟ: QTabBar.SelectionBehavior

此属性保存当调用removeTab时,如果移除的选项卡也是当前选项卡,则应设置为当前选项卡的选项卡。

默认值为 SelectRightTab

另请参阅

removeTab()

Access functions:
property shapeᅟ: QTabBar.Shape

此属性保存标签栏中标签的形状。

此属性的可能值由Shape枚举描述。

Access functions:
property tabsClosableᅟ: bool

此属性决定标签栏是否应在每个标签上放置关闭按钮。

当tabsClosable设置为true时,关闭按钮将出现在标签的左侧或右侧,具体取决于样式。当点击按钮时,将发出信号tabCloseRequested

默认情况下,该值为 false。

Access functions:
property usesScrollButtonsᅟ: bool

此属性决定当标签栏有多个标签时,是否应使用按钮来滚动标签。

当标签栏中的标签过多以至于超出其大小时,标签栏可以选择扩展其大小或添加按钮,以便您可以滚动浏览标签。

默认情况下,该值是依赖于样式的。

Access functions:
__init__([parent=None])
Parameters:

父级QWidget

使用给定的parent创建一个新的标签栏。

accessibleTabName(index)
Parameters:

索引 – int

Return type:

字符串

返回位于位置 index 的选项卡的 accessibleName,如果 index 超出范围,则返回空字符串。

另请参阅

setAccessibleTabName()

addTab(text)
Parameters:

文本 – str

Return type:

整数

添加一个带有文本 text 的新标签。返回新标签的索引。

addTab(icon, text)
Parameters:
  • 图标QIcon

  • 文本 – str

Return type:

整数

这是一个重载函数。

添加一个带有图标 icon 和文本 text 的新标签。返回新标签的索引。

autoHide()
Return type:

布尔

另请参阅

setAutoHide()

属性 autoHideᅟ 的获取器。

changeCurrentOnDrag()
Return type:

布尔

属性 changeCurrentOnDragᅟ 的获取器。

count()
Return type:

整数

属性 countᅟ 的获取器。

currentChanged(index)
Parameters:

索引 – int

当标签栏的当前标签发生变化时,会发出此信号。新的当前标签具有给定的index,如果没有新的标签(例如,如果QTabBar中没有标签),则为-1。

属性 currentIndexᅟ 的通知信号。

currentIndex()
Return type:

整数

另请参阅

setCurrentIndex()

属性 currentIndexᅟ 的获取器。

documentMode()
Return type:

布尔

另请参阅

setDocumentMode()

属性 documentModeᅟ 的获取器。

drawBase()
Return type:

布尔

另请参阅

setDrawBase()

属性 drawBaseᅟ 的获取器。

elideMode()
Return type:

TextElideMode

另请参阅

setElideMode()

属性 elideModeᅟ 的获取器。

expanding()
Return type:

布尔

另请参阅

setExpanding()

属性 expandingᅟ 的获取器。

iconSize()
Return type:

QSize

另请参阅

setIconSize()

属性 iconSizeᅟ 的获取器。

initStyleOption(option, tabIndex)
Parameters:

使用位于tabIndex的标签页中的值初始化option。当子类需要QStyleOptionTab但不想自己填写所有信息时,此方法非常有用。

insertTab(index, text)
Parameters:
  • index – 整数

  • 文本 – str

Return type:

整数

在位置 index 插入一个带有文本 text 的新标签。如果 index 超出范围,新标签将被追加。返回新标签的索引。

insertTab(index, icon, text)
Parameters:
  • index – 整数

  • 图标QIcon

  • 文本 – str

Return type:

整数

这是一个重载函数。

在位置 index 插入一个带有图标 icon 和文本 text 的新标签。如果 index 超出范围,新标签将被追加。返回新标签的索引。

如果在调用此函数之前QTabBar为空,则插入的选项卡将成为当前选项卡。

在小于或等于当前索引的位置插入新标签页将增加当前索引,但保持当前标签页不变。

isMovable()
Return type:

布尔

属性 movableᅟ 的获取器。

isTabEnabled(index)
Parameters:

索引 – int

Return type:

布尔

如果位置 index 的选项卡已启用,则返回 true;否则返回 false

isTabVisible(index)
Parameters:

索引 – int

Return type:

布尔

如果位置 index 的选项卡可见,则返回 true;否则返回 false。

minimumTabSizeHint(index)
Parameters:

索引 – int

Return type:

QSize

返回位置 index 处标签的最小标签大小提示。

moveTab(from, to)
Parameters:
  • from – 整数

  • to – int

将索引位置 from 处的项目移动到索引位置 to

removeTab(index)
Parameters:

索引 – int

移除位置 index 处的标签。

另请参阅

SelectionBehavior

selectionBehaviorOnRemove()
Return type:

SelectionBehavior

属性 selectionBehaviorOnRemoveᅟ 的获取器。

setAccessibleTabName(index, name)
Parameters:
  • index – 整数

  • name – str

将位置index处的选项卡的accessibleName设置为name

另请参阅

accessibleTabName()

setAutoHide(hide)
Parameters:

hide – 布尔值

另请参阅

autoHide()

属性 autoHideᅟ 的设置器。

setChangeCurrentOnDrag(change)
Parameters:

change – 布尔值

另请参阅

changeCurrentOnDrag()

属性 changeCurrentOnDragᅟ 的设置器。

setCurrentIndex(index)
Parameters:

索引 – int

另请参阅

currentIndex()

属性 currentIndexᅟ 的设置器。

setDocumentMode(set)
Parameters:

set – 布尔值

另请参阅

documentMode()

属性 documentModeᅟ 的设置器。

setDrawBase(drawTheBase)
Parameters:

drawTheBase – 布尔值

另请参阅

drawBase()

属性 drawBaseᅟ 的设置器。

setElideMode(mode)
Parameters:

modeTextElideMode

另请参阅

elideMode()

属性 elideModeᅟ 的设置器。

setExpanding(enabled)
Parameters:

enabled – 布尔值

另请参阅

expanding()

属性 expandingᅟ 的设置器。

setIconSize(size)
Parameters:

大小QSize

另请参阅

iconSize()

属性 iconSizeᅟ 的设置器。

setMovable(movable)
Parameters:

movable – 布尔值

另请参阅

isMovable()

属性 movableᅟ 的设置器。

setSelectionBehaviorOnRemove(behavior)
Parameters:

行为SelectionBehavior

属性 selectionBehaviorOnRemoveᅟ 的设置器。

setShape(shape)
Parameters:

形状Shape

另请参阅

shape()

属性 shapeᅟ 的设置器。

setTabButton(index, position, widget)
Parameters:

在标签页 index 上设置 widget。根据 position 的值,小部件将放置在左侧或右侧。

任何先前在position位置设置的小部件将被隐藏。将widget设置为None将隐藏当前在position位置的小部件。

标签栏将拥有该小部件的所有权,因此除非在设置其他小部件(或None)后单独重新设置小部件的父级,否则所有在此设置的小部件将在标签栏销毁时被删除。

setTabData(index, data)
Parameters:
  • index – 整数

  • data – 对象

将位置 index 处的标签数据设置为 data

另请参阅

tabData()

setTabEnabled(index, enabled)
Parameters:
  • index – 整数

  • enabled – 布尔值

如果 enabled 为 true,则位置 index 处的选项卡将被启用;否则,位置 index 处的项目将被禁用。

另请参阅

isTabEnabled()

setTabIcon(index, icon)
Parameters:
  • index – 整数

  • 图标QIcon

将位置 index 处的标签图标设置为 icon

另请参阅

tabIcon()

setTabText(index, text)
Parameters:
  • index – 整数

  • 文本 – str

将位置 index 处的选项卡文本设置为 text

另请参阅

tabText()

setTabTextColor(index, color)
Parameters:
  • index – 整数

  • 颜色QColor

将具有给定index的选项卡中的文本颜色设置为指定的color

如果指定了无效的颜色,标签将使用QTabBar的前景色代替。

另请参阅

tabTextColor()

setTabToolTip(index, tip)
Parameters:
  • index – 整数

  • 提示 – str

将位置 index 处的标签的工具提示设置为 tip

另请参阅

tabToolTip()

setTabVisible(index, visible)
Parameters:
  • index – 整数

  • visible – 布尔值

如果 visible 为 true,则使位置 index 的选项卡可见,否则使其隐藏。

另请参阅

isTabVisible()

setTabWhatsThis(index, text)
Parameters:
  • index – 整数

  • 文本 – str

将位置 index 处的选项卡的“这是什么”帮助文本设置为 text

另请参阅

tabWhatsThis()

setTabsClosable(closable)
Parameters:

closable – bool

另请参阅

tabsClosable()

属性 tabsClosableᅟ 的设置器。

setUsesScrollButtons(useButtons)
Parameters:

useButtons – 布尔值

另请参阅

usesScrollButtons()

属性 usesScrollButtonsᅟ 的设置器。

shape()
Return type:

Shape

另请参阅

setShape()

属性 shapeᅟ 的获取器。

tabAt(pos)
Parameters:

posQPoint

Return type:

整数

返回覆盖position的标签索引,如果没有标签覆盖position,则返回-1;

tabBarClicked(index)
Parameters:

索引 – int

当用户点击选项卡时,会发出此信号,选项卡位于index

index 是点击的选项卡的索引,如果光标下没有选项卡,则为 -1。

tabBarDoubleClicked(index)
Parameters:

索引 – int

当用户双击标签页上的index时,会发出此信号。

index 指的是被点击的标签页,如果没有标签页在光标下则为 -1。

tabButton(index, position)
Parameters:
Return type:

QWidget

返回设置选项卡indexposition的小部件,如果未设置则返回None

另请参阅

setTabButton()

tabCloseRequested(index)
Parameters:

索引 – int

当点击标签页上的关闭按钮时,会发出此信号。index 是要移除的索引。

另请参阅

setTabsClosable()

tabData(index)
Parameters:

索引 – int

Return type:

对象

返回位于位置 index 的标签页数据,如果 index 超出范围,则返回空变量。

另请参阅

setTabData()

tabIcon(index)
Parameters:

索引 – int

Return type:

QIcon

返回位于位置 index 的标签页图标,如果 index 超出范围,则返回空图标。

另请参阅

setTabIcon()

tabInserted(index)
Parameters:

索引 – int

当新标签页在位置 index 被添加或插入后,将调用此虚拟处理程序。

另请参阅

tabRemoved()

tabLayoutChange()

每当标签布局发生变化时,都会调用此虚拟处理程序。

另请参阅

tabRect()

tabMoved(from, to)
Parameters:
  • from – 整数

  • to – int

当标签将索引位置 from 处的标签移动到索引位置 to 时,会发出此信号。

注意:当此信号从其标签栏发出时,QTabWidget 会自动移动页面。

另请参阅

moveTab()

tabRect(index)
Parameters:

索引 – int

Return type:

QRect

返回位于位置 index 的标签的视觉矩形,如果 index 被隐藏或超出范围,则返回一个空矩形。

tabRemoved(index)
Parameters:

索引 – int

当标签从位置 index 移除后,将调用此虚拟处理程序。

另请参阅

tabInserted()

tabSizeHint(index)
Parameters:

索引 – int

Return type:

QSize

返回位于位置 index 的标签的大小提示。

tabText(index)
Parameters:

索引 – int

Return type:

字符串

返回位于位置 index 的选项卡的文本,如果 index 超出范围,则返回空字符串。

另请参阅

setTabText()

tabTextColor(index)
Parameters:

索引 – int

Return type:

QColor

返回给定index的选项卡的文本颜色,如果index超出范围,则返回无效颜色。

另请参阅

setTabTextColor()

tabToolTip(index)
Parameters:

索引 – int

Return type:

字符串

返回位置index处标签的工具提示,如果index超出范围,则返回空字符串。

另请参阅

setTabToolTip()

tabWhatsThis(index)
Parameters:

索引 – int

Return type:

字符串

返回位于位置 index 的选项卡的“这是什么”帮助文本,如果 index 超出范围,则返回空字符串。

另请参阅

setTabWhatsThis()

tabsClosable()
Return type:

布尔

另请参阅

setTabsClosable()

属性 tabsClosableᅟ 的获取器。

usesScrollButtons()
Return type:

布尔

另请参阅

setUsesScrollButtons()

属性 usesScrollButtonsᅟ 的获取器。