- class QTabWidget#
该
QTabWidget类提供了一个标签页控件堆栈。更多…概要#
属性#
countᅟ- 标签栏中的标签数量currentIndexᅟ- 当前标签页的索引位置documentModeᅟ- 是否以适合文档页面的模式渲染标签控件。这与macOS上的文档模式相同elideModeᅟ- 在标签栏中省略文本的方式iconSizeᅟ- 标签栏中图标的尺寸movableᅟ- 该属性表示用户是否可以在标签栏区域内移动标签。如果为true,则用户可以移动标签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()定义
setTabIcon()定义
setTabText()定义
tabBar()定义
tabIcon()定义
tabShape()定义
tabText()定义
tabToolTip()定义
widget()
虚方法#
定义
tabRemoved()
槽#
信号#
注意
本文档可能包含从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(大部分区域,组织独立页面)提供。另请参阅
QTabBarQStackedWidgetQToolBox销签对话框示例- 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 的值。
- 访问函数
- property currentIndexᅟ: int#
此属性保留当前标签页的索引位置。
如果没有当前小部件,当前索引为 -1。
默认情况下,此属性包含 -1 的值,因为widget最初没有标签。
- property documentModeᅟ: bool#
此属性保留是否在适合文档页面的模式下渲染标签小部件。这与macOS上的文档模式相同。
当设置此属性时,标签小部件框架不会被渲染。此模式用于显示文档类型页面,其中页面覆盖了大部分标签小部件区域。
- 属性 elideModeᅟ: Qt.TextElideMode#
此属性用于控制标签栏中文字的裁剪方式。
此属性控制当给定标签栏大小不足以显示项目时的文字裁剪方式。
默认情况下,此值取决于样式。
此属性用于保存标签栏中图标的尺寸。
默认值取决于样式。这是图标可能的最大尺寸。如果图标比这个尺寸小,则不会进行放大。
另请参阅
- 访问函数
- 属性 movableᅟ: bool#
此属性用于保存用户是否可以在标签栏区域内移动标签。
默认情况下,此属性为
false;- 访问函数
- 属性 tabBarAutoHideᅟ: bool#
如果为真,当标签栏包含的标签少于2个时,标签栏会被自动隐藏。
默认情况下,此属性为 false。
另请参阅
visible- 属性 tabPositionᅟ: QTabWidget.TabPosition#
此属性包含此标签控件中标签的位置。
此属性的值由
TabPosition枚举描述。默认情况下,此属性设置为
North。另请参阅
- 属性tabShape:QTabWidget.TabShape#
此属性包含此标签控件中标签的形状。
此属性的值可能是
Rounded(默认)或Triangular。另请参阅
- 访问函数
- 属性tabsClosable:bool#
此属性包含是否自动为每个标签添加关闭按钮。
另请参阅
- 属性usesScrollButtons:bool#
此属性包含是否应使用按钮在具有许多标签的标签栏中滚动标签。
在标签栏中的标签过多,以至于无法适应其大小时,标签栏可以选择扩展其大小或添加按钮以便于通过标签进行滚动。
默认情况下,此值取决于样式。
使用父控件
parent构造标签控件。这是一个重载函数。
将具有指定
page、icon和label的标签添加到标签小部件中,并返回标签在标签栏中的索引。将page的所有权传递给QTabWidget。此函数与
addTab()相同,但另外增加了一个icon。- addTab(widget, arg__2)
- 参数:
小部件 –
QWidgetarg__2 – str
- 返回类型:
int
将具有指定
page和label的标签添加到标签小部件中,并返回标签在标签栏中的索引。将page的所有权传递给QTabWidget。如果标签的
label包含一个 ampersand(&),那么紧跟在 ampersand 后面的字母将被用作标签的快捷键,例如,如果标签是“Bro&wse”,则 Alt+W 将成为快捷键,这将使焦点移动到此标签。注意
如果您在调用
show()后调用 addTab(),布局系统将尝试调整其小部件层次结构的变化,可能会引起闪烁。为了防止这种情况,您可以在更改之前将updatesEnabled属性设置为 false;请记得在更改完成后将属性设置为 true,以便小部件再次接收绘图事件。另请参阅
- clear()#
删除所有页面,但不会删除它们。调用此函数相当于连续调用
removeTab()直到标签小部件为空。返回标签小部件的
corner中的小部件或None。另请参阅
- count()#
- 返回类型:
int
属性
countᅟ的获取器。- currentChanged(index)#
- 参数:
index – 整数
每当当前页面索引发生变化时,就会发出此信号。参数是新当前页的
index位置,如果没有新位置(例如,如果没有在QTabWidget中的小部件),则为 -1属性
currentIndexᅟ的通知信号。- currentIndex()#
- 返回类型:
int
另请参阅
属性
currentIndexᅟ的获取器。返回当前由选项卡对话框显示的页面指针。选项卡对话框会尽力确保此值永远不会为 0(但如果足够努力,则可以是)。
- documentMode()#
- 返回类型:
布尔值
另请参阅
属性
documentModeᅟ的获取器。- elideMode()#
- 返回类型:
另请参阅
属性
elideModeᅟ的获取器。- iconSize()#
- 返回类型:
另请参阅
属性
iconSizeᅟ的获取器。返回小部件
w所占页面的索引位置,如果找不到小部件则返回 -1。- initStyleOption(option)#
- 参数:
option –
QStyleOptionTabWidgetFrame
使用此
QTabWidget的值来初始化option。此方法对于子类很有用,当它们需要一个QStyleOptionTabWidgetFrame时,但不想亲自填写所有信息。将具有给定
label和page的标签插入到指定索引的标签小部件中,并返回插入的标签在标签栏中的索引。将page的所有权传递给QTabWidget。标签显示在标签中,其外观可能因标签小部件的配置而异。
如果标签的
label包含一个 ampersand(&),那么紧跟在 ampersand 后面的字母将被用作标签的快捷键,例如,如果标签是“Bro&wse”,则 Alt+W 将成为快捷键,这将使焦点移动到此标签。如果
index超出范围,则仅将标签附加到末尾。否则,在指定位置插入。如果在调用此函数之前
QTabWidget为空,则新页面成为当前页面。在当前索引处或索引低于当前索引的位置插入新标签会递增当前索引,但保持当前页面。注意
如果您在调用
show()之后调用 insertTab(),布局系统将尝试调整其小部件层次结构中的更改并可能导致闪烁。为了防止这种情况,您可以在更改前将updatesEnabled属性设置为 false;记得在更改完成后将属性设置回 true,使得小部件再次接收绘制事件。另请参阅
这是一个重载函数。
在指定
index的选项卡小部件中插入具有给定label、page和icon的标签,并返回插入的标签在标签栏中的索引。将page的所有权传递给QTabWidget。此函数与
insertTab()相同,但增加了icon参数。- isMovable()#
- 返回类型:
布尔值
获取
movableᅟ属性的值。- isTabEnabled(index)#
- 参数:
index – 整数
- 返回类型:
布尔值
如果位置
index的页面已启用,则返回true;否则返回false。- isTabVisibleindex)#
- 参数:
index – 整数
- 返回类型:
布尔值
如果位置
index的页面是可见的,则返回 true;否则返回 false。另请参阅
- removeTabindex)#
- 参数:
index – 整数
从该小部件堆栈中移除位置
index的标签。页面小部件本身不会被删除。另请参阅
将指定的
widget设置为在选项卡的指定corner显示。小部件的几何形状基于小部件的sizeHint()和style()。仅使用
corner的水平元素。传递
None显示在角落没有小部件。任何之前设置的角落小部件将被隐藏。
当选项卡小部件被销毁时,此处设置的所有小部件都将被删除,除非你设置其他角落小部件(或
None)后单独移动小部件。注意:角落小部件是为
North和South选项卡位置设计的;其他方向已知无法正常工作。- setCurrentIndex(index)#
- 参数:
index – 整数
另请参阅
当前索引属性
currentIndex的设置器。使
widget成为当前小部件。所使用的widget必须是此选项卡小部件中的一个页面。- setDocumentMode(set)#
- 参数:
set – bool
另请参阅
文档模式属性
documentMode的设置器。- setElideMode(mode)#
- 参数:
mode –
TextElideMode
另请参阅
属性
elideModeᅟ的设置器。属性
iconSizeᅟ的设置器。- setMovable(movable)#
- 参数:
movable – bool
另请参阅
属性
movableᅟ的设置器。用 tab bar
tb替换对话框的QTabBar标题。注意,必须在添加任何标签之前调用此函数,否则行为未定义。另请参阅
- setTabBarAutoHide(enabled)#
- 参数:
enabled – bool
另请参阅
属性
tabBarAutoHideᅟ的设置器。- setTabEnabled(index, enabled)#
- 参数:
index – 整数
enabled – bool
如果
enable为 true,则启用在位置index的页面;否则禁用位置index的页面。标签被适当重绘。QTabWidget使用setEnabled()进行内部操作,而不是保留一个单独的标志。请注意,即使禁用的标签/页面也可能可见。如果页面已经可见,
QTabWidget不会隐藏它;如果所有页面都被禁用,QTabWidget将显示其中之一。- setTabIcon(index, icon)
- 参数:
index – 整数
图标 –
QIcon
设置位置
index的标签的图标。另请参阅
- setTabPosition(position)
- 参数:
position –
TabPosition
另请参阅
属性
tabPosition的设置器。- setTabShape(s)
- 参数:
s –
TabShape
另请参阅
属性
tabShape的设置器。定义位置
index页的标签的新标签。如果提供的文本包含一个与字符(’&’),则为其自动创建一个快捷键。‘&’之后的字符将被用作快捷键。任何之前的快捷键将被覆盖,或者在没有定义快捷键的文本中清除。有关详细信息,请参阅 QShortcut 文档(要显示实际的与字符,请使用 ‘&&’)。
另请参阅
将位置
index页的标签的工具提示设置为tip。另请参阅
如果
visible为真,则位置位于index的页面是可见的;否则,位置位于index的页面是隐藏的。页面的标签将相应地重绘。另请参阅
- setTabWhatsThis(index, text)
- 参数:
index – 整数
text – str
将位置位于
index的页面的What's This帮助文本设置为text。另请参阅
- setTabsClosable(closeable)
- 参数:
closeable – 布尔值
另请参阅
属性
tabsClosable的设置器。- setUsesScrollButtons(useButtons)
- 参数:
useButtons – 布尔值
另请参阅
属性
usesScrollButtons的设置器。- tabBar()
- 返回类型:
返回当前的
QTabBar。另请参阅
- tabBarAutoHide()
- 返回类型:
布尔值
另请参阅
属性
tabBarAutoHide的获取器。- tabBarClicked(index)
- 参数:
index – 整数
当用户点击一个标签时,此信号被发出。在
index中。index指的是被点击的标签,或者如果没有标签在光标下,则为 -1。- tabBarDoubleClicked(index)
- 参数:
index – 整数
当用户双击一个标签时,此信号被发出。在
index中。index是被点击的标签的索引,或者如果没有标签在光标下,则为 -1。- tabCloseRequested(index)
- 参数:
index – 整数
当点击标签上的关闭按钮时,此信号被发出。索引
index是应被移除的索引。另请参阅
- tabIcon(index)
- 参数:
index – 整数
- 返回类型:
获取位于
index位置的页面标签的图标。另请参阅
- tabInserted(index)#
- 参数:
index – 整数
在此虚拟处理程序被调用后,新标签已添加或插入到位置
index。另请参阅
- tabPosition()#
- 返回类型:
另请参阅
属性
tabPosition的获取器。- tabRemoved(index)#
- 参数:
index – 整数
在此虚拟处理程序被调用后,从位置
index移除了标签。另请参阅
- tabShape()#
- 返回类型:
另请参阅
属性
tabShape的获取器。- tabText(index)#
- 参数:
index – 整数
- 返回类型:
str
获取位于
index位置的页面标签的标签文本。另请参阅
- tabToolTip(index)#
- 参数:
index – 整数
- 返回类型:
str
获取位置为
index的页面的标签工具提示或如果没有设置工具提示则为空字符串。另请参阅
- tabWhatsThis(index)#
- 参数:
index – 整数
- 返回类型:
str
获取位置为
index的页面的“这是什么”帮助文本,如果没有设置帮助文本则为空字符串。另请参阅
- tabsClosable()#
- 返回类型:
布尔值
另请参阅
属性
tabsClosable的获取器。- usesScrollButtons()#
- 返回类型:
布尔值
属性
usesScrollButtons的获取器。返回索引位置为
index的标签页或当index超出范围时返回None。