PySide6.QtWidgets.QTabWidget¶
- class QTabWidget¶
QTabWidget
类提供了一组带有标签的窗口部件堆栈。更多…概要¶
属性¶
countᅟ
- 标签栏中的标签数量currentIndexᅟ
- 当前标签页的索引位置documentModeᅟ
- 选项卡小部件是否以适合文档页面的模式呈现。这与macOS上的文档模式相同elideModeᅟ
- 如何在标签栏中省略文本iconSizeᅟ
- 标签栏中图标的大小movableᅟ
- 此属性表示用户是否可以在标签栏区域内移动标签tabBarAutoHideᅟ
- 如果为true,当标签栏包含少于2个标签时,标签栏会自动隐藏tabPositionᅟ
- 此选项卡小部件中选项卡的位置tabShapeᅟ
- 此选项卡小部件中选项卡的形状tabsClosableᅟ
- 是否自动为每个标签页添加关闭按钮usesScrollButtonsᅟ
- 当标签栏有很多标签时,是否应该使用按钮来滚动标签
方法¶
def
__init__()
def
addTab()
def
clear()
def
cornerWidget()
def
count()
def
currentIndex()
def
currentWidget()
def
documentMode()
def
elideMode()
def
iconSize()
def
indexOf()
def
insertTab()
def
isMovable()
def
isTabEnabled()
def
isTabVisible()
def
removeTab()
def
setElideMode()
def
setIconSize()
def
setMovable()
def
setTabBar()
def
setTabEnabled()
def
setTabIcon()
def
setTabPosition()
def
setTabShape()
def
setTabText()
def
setTabToolTip()
def
setTabVisible()
def
tabBar()
def
tabBarAutoHide()
def
tabIcon()
def
tabPosition()
def
tabShape()
def
tabText()
def
tabToolTip()
def
tabWhatsThis()
def
tabsClosable()
def
widget()
虚拟方法¶
def
tabInserted()
def
tabRemoved()
插槽¶
信号¶
def
currentChanged()
def
tabBarClicked()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
选项卡小部件提供了一个选项卡栏(参见
QTabBar
)和一个用于显示与每个选项卡相关的页面的“页面区域”。默认情况下,选项卡栏显示在页面区域的上方,但也可以使用不同的配置(参见TabPosition
)。每个选项卡都与一个不同的小部件(称为页面)相关联。只有当前页面显示在页面区域中;所有其他页面都被隐藏。用户可以通过点击其选项卡或按下其Alt+*字母*快捷键(如果有的话)来显示不同的页面。使用
QTabWidget
的正常方式如下:创建一个
QTabWidget
。为标签对话框中的每个页面创建一个
QWidget
,但不要为它们指定父部件。将子部件插入页面部件中,使用布局像平常一样定位它们。
调用
addTab()
或insertTab()
将页面小部件放入标签小部件中,为每个标签提供一个合适的标签,并可选地添加键盘快捷键。
标签的位置由
tabPosition
定义,它们的形状由tabShape
定义。当用户选择一个页面时,会发出信号
currentChanged()
。当前页面索引可通过
currentIndex()
获取,当前页面小部件可通过currentWidget()
获取。您可以使用widget()
获取给定索引的页面小部件的指针,并使用indexOf()
查找小部件的索引位置。使用setCurrentWidget()
或setCurrentIndex()
来显示特定页面。你可以使用
setTabText()
或setTabIcon()
来更改标签的文本和图标。可以使用removeTab()
来移除标签及其关联的页面。在任何给定时间,每个选项卡要么启用,要么禁用(参见
setTabEnabled()
)。如果选项卡启用,选项卡文本将正常显示,用户可以选择该选项卡。如果禁用,选项卡将以不同的方式显示,用户无法选择该选项卡。请注意,即使选项卡被禁用,页面仍然可以可见,例如,如果所有选项卡都恰好被禁用。标签部件可以是一种非常好的方式来分割复杂的对话框。另一种方法是使用
QStackedWidget
,你需要提供一些在页面之间导航的方式,例如,一个QToolBar
或一个QListWidget
。QTabWidget
中的大部分功能由QTabBar
(位于顶部,提供标签)和QStackedWidget
(占据大部分区域,组织各个页面)提供。另请参阅
QTabBar
QStackedWidget
QToolBox
标签对话框示例- class TabPosition¶
此枚举类型定义了
QTabWidget
绘制标签行的位置:常量
描述
QTabWidget.North
标签绘制在页面上方。
QTabWidget.South
标签绘制在页面下方。
QTabWidget.West
标签绘制在页面的左侧。
QTabWidget.East
标签绘制在页面的右侧。
- class TabShape¶
此枚举类型定义了标签的形状:
常量
描述
QTabWidget.Rounded
选项卡以圆角外观绘制。这是默认的形状。
QTabWidget.Triangular
标签以三角形外观绘制。
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property countᅟ: int¶
此属性保存标签栏中的标签数量。
默认情况下,此属性包含的值为0。
- Access functions:
- property currentIndexᅟ: int¶
此属性保存当前标签页的索引位置。
如果没有当前的小部件,当前索引为-1。
默认情况下,此属性包含的值为-1,因为小部件最初没有选项卡。
- Access functions:
- property documentModeᅟ: bool¶
此属性保存选项卡小部件是否以适合文档页面的模式呈现。这与macOS上的文档模式相同。
当设置此属性时,标签小部件的框架不会被渲染。此模式适用于显示文档类型的页面,其中页面覆盖了标签小部件的大部分区域。
- Access functions:
- property elideModeᅟ: Qt.TextElideMode¶
此属性控制如何在标签栏中省略文本。
此属性控制在给定标签栏大小下,当没有足够空间显示项目时,如何省略项目。
默认情况下,该值取决于样式。
- Access functions:
此属性保存标签栏中图标的大小。
默认值是样式相关的。这是图标将具有的最大尺寸。如果图标尺寸较小,则不会放大。
另请参阅
- Access functions:
- property movableᅟ: bool¶
此属性表示用户是否可以在标签栏区域内移动标签。
默认情况下,此属性为
false
;- Access functions:
- property tabBarAutoHideᅟ: bool¶
此属性表示如果为真,当标签栏包含少于2个标签时,标签栏将自动隐藏。
默认情况下,此属性为 false。
另请参阅
visible
- Access functions:
- property tabPositionᅟ: QTabWidget.TabPosition¶
此属性保存此选项卡小部件中选项卡的位置。
此属性的可能值由
TabPosition
枚举描述。默认情况下,此属性设置为
North
。另请参阅
- Access functions:
- property tabShapeᅟ: QTabWidget.TabShape¶
此属性保存此选项卡小部件中选项卡的形状。
此属性的可能值为
Rounded
(默认)或Triangular
。另请参阅
- Access functions:
- property tabsClosableᅟ: bool¶
此属性保存是否为每个选项卡自动添加关闭按钮。
另请参阅
- Access functions:
- property usesScrollButtonsᅟ: bool¶
此属性决定当标签栏有多个标签时,是否应使用按钮来滚动标签。
当标签栏中的标签过多以至于超出其大小时,标签栏可以选择扩展其大小或添加按钮,以便您可以滚动浏览标签。
默认情况下,该值取决于样式。
- Access functions:
构建一个带有父级
parent
的标签小部件。向标签小部件添加一个带有给定
page
和label
的标签,并返回标签在标签栏中的索引。page
的所有权将传递给QTabWidget
。如果标签的
label
包含一个&符号,&符号后面的字母将用作标签的快捷键,例如,如果标签是“Bro&wse”,那么Alt+W将成为一个快捷键,用于将焦点移动到此标签。注意
如果在
show()
之后调用addTab(),布局系统将尝试调整其小部件层次结构中的更改,并可能导致闪烁。为了防止这种情况,您可以在更改之前将updatesEnabled
属性设置为false;更改完成后记得将该属性设置为true,使小部件再次接收绘制事件。另请参阅
这是一个重载函数。
向标签小部件添加一个带有给定
page
、icon
和label
的标签,并返回该标签在标签栏中的索引。page
的所有权将传递给QTabWidget
。此函数与
addTab()
相同,但多了一个icon
。- clear()¶
移除所有页面,但不会删除它们。调用此函数相当于调用
removeTab()
直到标签部件为空。返回标签部件角落中显示的小部件或
None
。另请参阅
- count()¶
- Return type:
整数
属性
countᅟ
的获取器。- currentChanged(index)¶
- Parameters:
索引 – int
每当当前页面索引发生变化时,都会发出此信号。参数是新的当前页面
index
位置,如果没有新的页面(例如,如果QTabWidget
中没有小部件),则为-1。属性
currentIndexᅟ
的通知信号。- currentIndex()¶
- Return type:
整数
另请参阅
属性
currentIndexᅟ
的获取器。返回指向当前由标签对话框显示的页面的指针。标签对话框会尽力确保此值永远不会为0(但如果你足够努力,它可能会是)。
- documentMode()¶
- Return type:
布尔
另请参阅
属性
documentModeᅟ
的获取器。- elideMode()¶
- Return type:
另请参阅
属性
elideModeᅟ
的获取器。- iconSize()¶
- Return type:
另请参阅
属性
iconSizeᅟ
的获取器。返回小部件
w
占用的页面索引位置,如果找不到小部件则返回-1。- initStyleOption(option)¶
- Parameters:
使用来自此
QTabWidget
的值初始化option
。当子类需要一个QStyleOptionTabWidgetFrame
但不想自己填写所有信息时,此方法非常有用。- insertTab(index, widget, label)¶
- Parameters:
index – 整数
widget –
QWidget
label – str
- Return type:
整数
在指定的
index
处将带有给定label
和page
的标签插入到标签小部件中,并返回插入标签在标签栏中的索引。page
的所有权将传递给QTabWidget
。标签显示在选项卡中,其外观可能会根据选项卡小部件的配置而有所不同。
如果标签的
label
包含一个&符号,&符号后面的字母将用作标签的快捷键,例如,如果标签是“Bro&wse”,那么Alt+W将成为一个快捷键,用于将焦点移动到此标签。如果
index
超出范围,标签将简单地附加。否则,它将被插入到指定的位置。如果在调用此函数之前
QTabWidget
为空,则新页面将成为当前页面。在当前索引小于或等于当前索引的位置插入新标签页将增加当前索引,但保持当前页面不变。注意
如果在
show()
之后调用insertTab(),布局系统将尝试调整其小部件层次结构中的更改,并可能导致闪烁。为了防止这种情况,您可以在更改之前将updatesEnabled
属性设置为false;更改完成后记得将该属性设置为true,使小部件再次接收绘制事件。另请参阅
- insertTab(index, widget, icon, label)
这是一个重载函数。
将带有给定
label
、page
和icon
的标签插入到指定index
的标签小部件中,并返回插入标签在标签栏中的索引。page
的所有权将传递给QTabWidget
。此函数与
insertTab()
相同,但多了一个icon
。- isMovable()¶
- Return type:
布尔
属性
movableᅟ
的获取器。- isTabEnabled(index)¶
- Parameters:
索引 – int
- Return type:
布尔
如果位置
index
的页面已启用,则返回true
;否则返回false
。- isTabVisible(index)¶
- Parameters:
索引 – int
- Return type:
布尔
如果位于位置
index
的页面可见,则返回 true;否则返回 false。另请参阅
- removeTab(index)¶
- Parameters:
索引 – int
从这个小部件堆栈中移除位置为
index
的标签。页面小部件本身不会被删除。另请参阅
将给定的
widget
设置为在标签小部件的指定corner
中显示。小部件的几何形状由小部件的sizeHint()
和style()
决定。仅使用
corner
的水平元素。传递
None
在角落不显示小部件。任何先前设置的角落小部件都被隐藏。
除非在设置其他角落小部件(或
None
)后单独重新设置小部件的父级,否则在此设置的所有小部件将在选项卡小部件销毁时被删除。注意:角落小部件是为
North
和South
标签位置设计的;已知其他方向无法正常工作。- setCurrentIndex(index)¶
- Parameters:
索引 – int
另请参阅
属性
currentIndexᅟ
的设置器。使
widget
成为当前的小部件。使用的widget
必须是此标签小部件中的一个页面。- setDocumentMode(set)¶
- Parameters:
set – 布尔值
另请参阅
属性
documentModeᅟ
的设置器。- setElideMode(mode)¶
- Parameters:
mode –
TextElideMode
另请参阅
属性
elideModeᅟ
的设置器。属性
iconSizeᅟ
的设置器。- setMovable(movable)¶
- Parameters:
movable – 布尔值
另请参阅
属性
movableᅟ
的设置器。将对话框的
QTabBar
标题替换为标签栏tb
。请注意,必须在添加任何标签之前调用此方法,否则行为是未定义的。另请参阅
- setTabBarAutoHide(enabled)¶
- Parameters:
enabled – 布尔值
另请参阅
属性
tabBarAutoHideᅟ
的设置器。- setTabEnabled(index, enabled)¶
- Parameters:
index – 整数
enabled – 布尔值
如果
enable
为 true,则启用位置index
处的页面;否则禁用位置index
处的页面。页面的标签会相应地重新绘制。QTabWidget
内部使用setEnabled()
,而不是维护一个单独的标志。请注意,即使禁用的标签/页面也可能是可见的。如果页面已经可见,
QTabWidget
不会隐藏它;如果所有页面都被禁用,QTabWidget
将显示其中一个。设置位于位置
index
的标签页的icon
。另请参阅
- setTabPosition(position)¶
- Parameters:
位置 –
TabPosition
另请参阅
属性
tabPositionᅟ
的设置器。属性
tabShapeᅟ
的设置器。- setTabText(index, text)¶
- Parameters:
index – 整数
文本 – str
为页面在位置
index
的标签定义一个新的label
。如果提供的文本包含一个&符号('&'),则会自动为其创建一个快捷键。'&'后面的字符将用作快捷键。任何先前的快捷键将被覆盖,如果文本没有定义快捷键,则会被清除。详情请参阅QShortcut文档(要显示实际的&符号,请使用'&&')。
另请参阅
- setTabToolTip(index, tip)¶
- Parameters:
index – 整数
提示 – str
将位置
index
处的页面的标签工具提示设置为tip
。另请参阅
- setTabVisible(index, visible)¶
- Parameters:
index – 整数
visible – 布尔值
如果
visible
为 true,则位置index
处的页面可见;否则位置index
处的页面隐藏。页面的标签会相应地重新绘制。另请参阅
- setTabWhatsThis(index, text)¶
- Parameters:
index – 整数
文本 – str
将页面在位置
index
的“这是什么”帮助文本设置为text
。另请参阅
- setTabsClosable(closeable)¶
- Parameters:
closeable – 布尔值
另请参阅
属性
tabsClosableᅟ
的设置器。- setUsesScrollButtons(useButtons)¶
- Parameters:
useButtons – 布尔值
另请参阅
属性
usesScrollButtonsᅟ
的设置器。返回当前的
QTabBar
。另请参阅
- tabBarAutoHide()¶
- Return type:
布尔
另请参阅
属性
tabBarAutoHideᅟ
的获取器。- tabBarClicked(index)¶
- Parameters:
索引 – int
当用户点击选项卡时,会发出此信号,选项卡位于
index
。index
指的是被点击的标签页,如果没有标签页在光标下则为 -1。- tabBarDoubleClicked(index)¶
- Parameters:
索引 – int
当用户双击选项卡上的
index
时,会发出此信号。index
是点击的选项卡的索引,如果光标下没有选项卡,则为 -1。- tabCloseRequested(index)¶
- Parameters:
索引 – int
当点击标签页上的关闭按钮时,会发出此信号。
index
是要移除的索引。另请参阅
返回页面中位置为
index
的标签页的图标。另请参阅
- tabInserted(index)¶
- Parameters:
索引 – int
当新标签页在位置
index
被添加或插入后,将调用此虚拟处理程序。另请参阅
- tabPosition()¶
- Return type:
另请参阅
获取属性
tabPositionᅟ
的Getter。- tabRemoved(index)¶
- Parameters:
索引 – int
当标签从位置
index
移除后,将调用此虚拟处理程序。另请参阅
- tabShape()¶
- Return type:
另请参阅
属性
tabShapeᅟ
的获取器。- tabText(index)¶
- Parameters:
索引 – int
- Return type:
字符串
返回页面中位置为
index
的选项卡的标签文本。另请参阅
- tabToolTip(index)¶
- Parameters:
索引 – int
- Return type:
字符串
返回位于位置
index
的页面的标签工具提示,如果未设置工具提示,则返回空字符串。另请参阅
- tabWhatsThis(index)¶
- Parameters:
索引 – int
- Return type:
字符串
返回位于位置
index
页面的“这是什么”帮助文本,如果未设置帮助文本,则返回空字符串。另请参阅
- tabsClosable()¶
- Return type:
布尔
另请参阅
属性
tabsClosableᅟ
的获取器。- usesScrollButtons()¶
- Return type:
布尔
属性
usesScrollButtonsᅟ
的获取器。返回索引位置为
index
的标签页,如果index
超出范围则返回None
。