class QTabBar#

QTabBar 类提供了一个选项卡栏,例如用于选项卡对话框中。 更多信息

Inheritance diagram of PySide6.QtWidgets.QTabBar

摘要#

属性#

方法#

虚方法#

槽函数#

信号#

注意

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

详细描述#

QTabBar易于使用;它使用预定义的形状之一绘制标签,并在标签被选中时发出信号。它可以被继承以定制外观和感觉。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() 信号。每当当前标签改变时(即使在启动时,当前标签从 'none' 变化时)都会发出该信号。还有一个槽函数 setCurrentIndex(),可以用来程序化选择标签。函数 currentIndex() 返回当前标签的索引,函数 count 存储标签数量。

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

以下虚拟函数可能需要重新实现,以便自定义每个标签的样式或存储额外的数据

  • tabSizeHint() 计算标签的大小。

  • tabInserted() 通知添加了新的标签。

  • tabRemoved() 通知移除了标签。

  • tabLayoutChange() 通知标签已重新排列。

  • paintEvent() 绘制所有标签。

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

fusion-tabbar1

QTabBar 的截图。

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#

当此属性为true时,标签栏在包含少于2个标签时自动隐藏。

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

另请参阅

visible

访问函数
property changeCurrentOnDrag: bool#

当此属性为true时,当在标签栏上拖动时,自动更改当前标签。

注意

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

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

访问函数
property count: int#

此属性包含标签栏中标签的数量。

访问函数
property currentIndex: int#

此属性包含标签栏可见标签的索引。

如果没有当前标签,当前索引为-1。

访问函数
property documentMode: bool#

此属性包含标签栏是否以适合主窗口的模式渲染。

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

另请参阅

documentMode

访问函数
属性 drawBase: bool#

该属性定义了标签栏是否应绘制其基线。

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

访问函数
属性 elideMode: Qt.TextElideMode#

此属性保存了在标签栏中如何省略文本。

此属性控制当给定标签栏大小不足以显示项目时如何省略项目。

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

访问函数
属性 expanding: bool#

当 expanding 为真时,QTabBar 将展开标签以使用空余空间。

默认值为 true。

另请参阅

documentMode

访问函数
属性 iconSize: QSize#

此属性保存标签栏中图标的尺寸。

默认值为样式依赖。`iconSize` 是最大尺寸;小于此尺寸的图标不会放大。

另请参阅

iconSize

访问函数
属性 movable: bool#

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

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

访问函数
属性 selectionBehaviorOnRemove: QTabBar.SelectionBehavior#

这个属性定义了在调用 removeTab 方法并且被移除的标签也是当前标签时,应该设置哪个标签为当前标签。

默认值是 SelectRightTab

另请参阅

removeTab()

访问函数
属性 shape: QTabBar.Shape#

这个属性持有标签栏中标签的形状。

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

访问函数
属性 tabsClosable: bool#

这个属性定义了标签栏是否在每个标签上放置关闭按钮。

当 tabsClosable 设置为 true 时,根据样式,关闭按钮将出现在标签的左侧或右侧。当按钮被点击时,会发出 tabCloseRequested 信号。

默认值为 false。

访问函数
属性 usesScrollButtons: bool#

这个属性定义了标签栏是否使用按钮在有许多标签时滚动标签。

当标签栏中的标签数量超过其大小时,标签栏可以选择扩展其大小或将按钮添加到允许你滚动标签的位置。

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

访问函数
__init__([parent=None])#
参数:

parentQWidget

创建一个带有指定 parent 的新标签栏。

accessibleTabName(index)#
参数:

index – int

返回类型

str

返回在 index 位置的标签的访问名称,如果 index 超出范围,则返回空字符串。

另请参阅

setAccessibleTabName()

addTab(text)#
参数:

text – str

返回类型

int

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

addTab(icon, text)
参数:
  • iconQIcon

  • text – str

返回类型

int

这是一个重载函数。

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

autoHide()#
返回类型

bool

另请参阅

setAutoHide()

属性 autoHideᅟ 的获取器。

changeCurrentOnDrag()#
返回类型

bool

属性 changeCurrentOnDragᅟ 的获取器。

count()#
返回类型

int

属性 countᅟ 的获取器。

currentChanged(index)#
参数:

index – int

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

属性 currentIndexᅟ 的通知信号。

currentIndex()#
返回类型

int

另请参阅

setCurrentIndex()

属性 currentIndexᅟ 的获取器。

documentMode()#
返回类型

bool

另请参阅

setDocumentMode()

属性 documentMode 的获取器。

drawBase()#
返回类型

bool

另请参阅

setDrawBase()

属性 drawBase 的获取器。

elideMode()#
返回类型

TextElideMode

另请参阅

setElideMode()

属性 elideMode 的获取器。

expanding()#
返回类型

bool

另请参阅

setExpanding()

属性 expanding 的获取器。

iconSize()#
返回类型

QSize

另请参阅

setIconSize()

属性 iconSize 的获取器。

initStyleOption(option, tabIndex)#
参数:

使用索引为 tabIndex 的选项卡中的值来初始化 option。此方法在子类需要 QStyleOptionTab ,但又不想自行填写所有信息时非常有用。

insertTab(index, icon, text)#
参数:
  • index – int

  • iconQIcon

  • text – str

返回类型

int

这是一个重载函数。

在位置 index 插入新选项卡,新选项卡的图标为 icon,文本为 text。如果 index 超出了范围,新选项卡将被附加到末尾。返回新选项卡的索引。

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

在当前索引小于或等于新索引的位置插入新的选项卡时,当前索引将增加,但当前选项卡保持不变。

insertTab(index, text)
参数:
  • index – int

  • text – str

返回类型

int

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

isMovable()#
返回类型

bool

movable属性 的获取器。

isTabEnabled(index)#
参数:

index – int

返回类型

bool

如果位置索引为 index 的标签被启用,则返回 true;否则返回 false

isTabVisible(index)#
参数:

index – int

返回类型

bool

如果位置索引为 index 的标签可见,则返回 true;否则返回 false。

minimumTabSizeHint(index)#
参数:

index – int

返回类型

QSize

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

moveTab(from, to)#
参数:
  • from – int

  • to – int

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

removeTab(index)#
参数:

index – int

移除位置索引为 index 的标签。

另请参阅

SelectionBehavior

selectionBehaviorOnRemove()#
返回类型

SelectionBehavior

selectionBehaviorOnRemove属性 的获取器。

setAccessibleTabName(index, name)#
参数:
  • index – int

  • name – str

将位置为 index 的标签的可访问名称设置为 name

另请参阅

accessibleTabName()

setAutoHide(hide)#
参数:

hide – bool

另请参阅

autoHide()

属性 autoHide 的设置器。

setChangeCurrentOnDrag(change)#
参数:

change – bool

另请参阅

changeCurrentOnDrag()

属性 changeCurrentOnDrag 的设置器。

setCurrentIndex(index)#
参数:

index – int

另请参阅

currentIndex()

属性 currentIndex 的设置器。

setDocumentMode(set)#
参数:

set – bool

另请参阅

documentMode()

属性 documentMode 的设置器。

setDrawBase(drawTheBase)#
参数:

drawTheBase – bool

另请参阅

drawBase()

属性 drawBase 的设置器。

setElideMode(mode)#
参数:

modeTextElideMode

另请参阅

elideMode()

属性 elideMode 的设置器。

setExpanding(enabled)#
参数:

enabled – bool

另请参阅

expanding()

属性 expanding 的设置器。

setIconSize(size)#
参数:

sizeQSize

另请参阅

iconSize()

属性 iconSize 的设置器。

setMovable(movable)#
参数:

movable – bool

另请参阅

isMovable()

设置属性 movable 的设置器。

setSelectionBehaviorOnRemove(behavior)#
参数:

behaviorSelectionBehavior

设置属性 selectionBehaviorOnRemove 的设置器。

setShape(shape)#
参数:

shapeShape

另请参阅

shape()

设置属性 shape 的设置器。

setTabButton(index, position, widget)#
参数:

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

position 中预先设置的小部件将被隐藏。将 widget 设置为 None 将隐藏当前 position 处的小部件。

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

setTabData(index, data)#
参数:
  • index – int

  • data – object

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

另请参阅

tabData()

setTabEnabled(index, enabled)#
参数:
  • index – int

  • enabled – bool

如果 enabled 为真,则位置 index 的标签页被启用;否则位置 index 的项目将被禁用。

另请参阅

isTabEnabled()

setTabIcon(index, icon)#
参数:
  • index – int

  • iconQIcon

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

另请参阅

tabIcon()

setTabText(index, text)#
参数:
  • index – int

  • text – str

将位置 index 的标签页文本设置为 text

另请参阅

tabText()

setTabTextColor(index, color)#
参数:
  • index – int

  • colorQColor

将指定 index 的标签页中的文本颜色设置为指定的 color

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

另请参阅

tabTextColor()

setTabToolTip(index, tip)#
参数:
  • index – int

  • tip – str

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

另请参阅

tabToolTip()

setTabVisible(index, visible)#
参数:
  • index – int

  • visible – bool

如果 visible 为真,则使位置 index 的标签页可见,否则将其隐藏。

另请参阅

isTabVisible()

setTabWhatsThis(index, text)#
参数:
  • index – int

  • text – str

将位置 index 的标签页的 What’s This 帮助文本设置为 text

另请参阅

tabWhatsThis()

setTabsClosable(closable)#
参数:

closable – bool

另请参阅

tabsClosable()

属性 tabsClosable 的设置器。

setUsesScrollButtons(useButtons)#
参数:

useButtons – bool

另请参阅

usesScrollButtons()

属性 usesScrollButtons 的设置器。

shape()#
返回类型

形状

另请参阅

setShape()

属性 shape 的获取器。

tabAt(pos)#
参数:

posQPoint

返回类型

int

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

tabBarClicked(index)#
参数:

index – int

当用户点击索引为 index 的标签时,会发出此信号。

index 是被点击的标签的索引,如果没有标签在光标下,则返回 -1。

tabBarDoubleClicked(index)#
参数:

index – int

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

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

tabButton(index, position)#
参数:
返回类型

QWidget

返回索引为 indexposition 的标签设置的控件,如果没有设置,则返回 None

另请参阅

setTabButton()

tabCloseRequested(index)#
参数:

index – int

当点击标签上的关闭按钮时,会发出此信号。索引 index 表示应该移除的索引。

另请参阅

setTabsClosable()

tabData(index)#
参数:

index – int

返回类型

对象

返回位置 index 的选项卡的数据,如果 index 超出范围,则返回空值。

另请参阅

setTabData()

tabIcon(index)#
参数:

index – int

返回类型

QIcon

返回位置 index 的选项卡的图标,如果 index 超出范围,则返回空图标。

另请参阅

setTabIcon()

tabInserted(index)#
参数:

index – int

在添加或插入到位置 index 的新选项卡之后,会调用此虚拟处理程序。

另请参阅

tabRemoved()

tabLayoutChange()#

每次选项卡布局更改时,都会调用此虚拟处理程序。

另请参阅

tabRect()

tabMoved(from, to)#
参数:
  • from – int

  • to – int

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

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

另请参阅

moveTab()

tabRect(index)#
参数:

index – int

返回类型

QRect

返回位置 index 的选项卡的视觉矩形,如果 index 隐藏或超出范围,则返回空矩形。

tabRemoved(index)#
参数:

index – int

从位置 index 删除选项卡后,会调用此虚拟处理程序。

另请参阅

tabInserted()

tabSizeHint(index)#
参数:

index – int

返回类型

QSize

返回位置 index 的选项卡的尺寸提示。

tabText(index)#
参数:

index – int

返回类型

str

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

另请参阅

setTabText()

tabTextColor(index)#
参数:

index – int

返回类型

QColor

返回指定索引的标签页文本颜色,如果索引超出范围,则返回无效颜色。

tabToolTip(index)#
参数:

index – int

返回类型

str

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

tabWhatsThis(index)#
参数:

index – int

返回类型

str

返回位置在 index 的标签页的“这是什么”帮助文本,如果索引超出范围,则返回空字符串。

tabsClosable()#
返回类型

bool

另请参阅

setTabsClosable()

属性tabsClosableᅟ的获取器。

usesScrollButtons()#
返回类型

bool

另请参阅

setUsesScrollButtons()

属性usesScrollButtonsᅟ的获取器。