PySide6.QtWidgets.QSplitter¶
- class QSplitter¶
-
概要¶
属性¶
childrenCollapsibleᅟ- 用户是否可以将子部件调整到大小为0handleWidthᅟ- 分割器手柄的宽度orientationᅟ- 分割器的方向
方法¶
def
__init__()def
addWidget()def
count()def
getRange()def
handle()def
handleWidth()def
indexOf()def
insertWidget()def
isCollapsible()def
moveSplitter()def
opaqueResize()def
orientation()def
refresh()def
replaceWidget()def
restoreState()def
saveState()def
setCollapsible()def
setHandleWidth()def
setOrientation()def
setRubberBand()def
setSizes()def
sizes()def
widget()
虚拟方法¶
def
createHandle()
信号¶
def
splitterMoved()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
分割器允许用户通过拖动它们之间的边界来控制子部件的大小。任何数量的部件都可以由单个分割器控制。
QSplitter的典型用法是创建几个部件,并使用insertWidget()或addWidget()添加它们。以下示例将并排显示一个
QListView、QTreeView和QTextEdit,并带有两个分割器手柄:splitter = QSplitter(parent) listview = QListView() treeview = QTreeView() textedit = QTextEdit() splitter.addWidget(listview) splitter.addWidget(treeview) splitter.addWidget(textedit)
如果一个小部件已经在
QSplitter中,当调用insertWidget()或addWidget()时,它将移动到新位置。这可以用于稍后重新排序分割器中的小部件。您可以使用indexOf()、widget()和count()来访问分割器中的小部件。默认的
QSplitter会水平排列其子元素(并排);你可以使用setOrientation(Qt::Vertical) 来垂直排列其子元素。默认情况下,所有小部件的大小可以根据用户的意愿在
minimumSizeHint()(或minimumSize())和maximumSize()之间调整。QSplitter默认情况下会动态调整其子组件的大小。如果你希望QSplitter仅在调整大小操作结束时调整子组件的大小,请调用setOpaqueResize(false)。小部件之间大小的初始分布是通过将初始大小与拉伸因子相乘来确定的。你也可以使用
setSizes()来设置所有小部件的大小。函数sizes()返回用户设置的大小。或者,你可以分别使用saveState()和restoreState()从QByteArray中保存和恢复小部件的大小。当你
hide()一个子元素时,它的空间将分配给其他子元素。当你再次show()它时,它将恢复。注意
不支持将
QLayout添加到QSplitter中(无论是通过setLayout()还是将QSplitter作为QLayout的父级);请改用addWidget()(参见上面的示例)。注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property childrenCollapsibleᅟ: bool¶
此属性决定用户是否可以将子部件调整到大小为0。
默认情况下,子项是可折叠的。可以使用
setCollapsible()来启用和禁用单个子项的折叠。另请参阅
- Access functions:
- property handleWidthᅟ: int¶
此属性保存分隔符手柄的宽度。
默认情况下,此属性包含的值取决于用户的平台和样式偏好。
如果将handleWidth设置为1或0,实际的抓取区域将扩大到与其各自的小部件重叠几个像素。
- Access functions:
- property opaqueResizeᅟ: bool¶
如果小部件在交互式移动分隔条时动态(不透明地)调整大小,则返回
true。否则返回false。默认的调整大小行为取决于样式(由SH_Splitter_OpaqueResize样式提示确定)。但是,您可以通过调用setOpaqueResize()来覆盖它。
另请参阅
- Access functions:
- property orientationᅟ: Qt.Orientation¶
此属性保存分隔条的方向。
默认情况下,方向是水平的(即小部件并排排列)。可能的方向有 Qt::Horizontal 和 Qt::Vertical。
另请参阅
- Access functions:
使用传递给
QFrame构造函数的parent参数构造一个水平分割器。另请参阅
- __init__(orientation[, parent=None])
- Parameters:
orientation –
Orientationparent –
QWidget
使用给定的
orientation和parent构造一个分割器。另请参阅
将给定的
widget添加到拆分器的布局中,位于所有其他项目之后。如果
widget已经在分割器中,它将被移动到新位置。- childrenCollapsible()¶
- Return type:
布尔
属性
childrenCollapsibleᅟ的获取器。- closestLegalPosition(pos, index)¶
- Parameters:
pos – 整数
index – 整数
- Return type:
整数
返回小部件在
index处最接近的合法位置pos。对于从右到左的语言,如阿拉伯语和希伯来语,水平分割器的布局是反向的。位置是从小部件的右边缘开始测量的。
另请参阅
- count()¶
- Return type:
整数
返回分割器布局中包含的小部件数量。
- createHandle()¶
- Return type:
返回一个新的分割器手柄作为此分割器的子部件。此函数可以在子类中重新实现,以提供对自定义手柄的支持。
- getRange(index)¶
- Parameters:
索引 – int
- Return type:
PyObject
返回分割器在
index处的有效范围,如果min和max不为0,则在*``min``和*``max``中返回。- handle(index)¶
- Parameters:
索引 – int
- Return type:
返回拆分器布局中给定
index处项目左侧(或上方)的句柄,如果没有这样的项目,则返回None。索引0处的句柄始终是隐藏的。对于从右到左的语言,如阿拉伯语和希伯来语,水平分割器的布局是相反的。手柄将位于小部件的右侧,位于
index。- handleWidth()¶
- Return type:
整数
另请参阅
属性
handleWidthᅟ的获取器。返回指定
widget在分割器布局中的索引,如果未找到widget则返回-1。这也适用于句柄。句柄从0开始编号。句柄的数量与子小部件的数量相同,但位置0的句柄始终是隐藏的。
将指定的
widget插入到分割器的布局中的给定index处。如果
widget已经在分割器中,它将被移动到新位置。如果
index是一个无效的索引,那么小部件将被插入到末尾。- isCollapsible(index)¶
- Parameters:
索引 – int
- Return type:
布尔
如果位于
index的小部件是可折叠的,则返回true,否则返回false。- moveSplitter(pos, index)¶
- Parameters:
pos – 整数
index – 整数
将拆分器手柄的左侧或顶部边缘移动到尽可能接近位置
pos的位置,该位置是从小部件的左侧或顶部边缘的距离。对于从右到左的语言,如阿拉伯语和希伯来语,水平分割器的布局是相反的。
pos则是从小部件的右边缘开始的距离。- opaqueResize()¶
- Return type:
布尔
另请参阅
属性
opaqueResizeᅟ的获取器。- orientation()¶
- Return type:
另请参阅
属性
orientationᅟ的获取器。- refresh()¶
更新分隔器的状态。您不需要调用此函数。
在分割器的布局中,用
widget替换给定index处的小部件。如果
index有效且widget尚未成为分割器的子部件,则返回刚刚被替换的小部件。否则,返回null,并且不进行替换或添加。新插入的小部件的几何形状将与它所替换的小部件相同。其可见和折叠状态也会被继承。
注意
分割器接管了
widget的所有权,并将被替换的小部件的父级设置为null。- restoreState(state)¶
- Parameters:
状态 –
QByteArray- Return type:
布尔
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
将分割器的布局恢复到指定的
state。如果状态恢复成功,则返回true;否则返回false。通常这与QSettings一起使用,以从过去的会话中恢复大小。以下是一个示例:
恢复分割器的状态:
settings = QSettings() splitter.restoreState(settings.value("splitterSizes").toByteArray())
无法恢复分割器的布局可能是由于提供的字节数组中的数据无效或过时。
另请参阅
- saveState()¶
- Return type:
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
保存分割器布局的状态。
通常这与QSettings结合使用,以记住未来会话的大小。版本号作为数据的一部分存储。以下是一个示例:
settings = QSettings() settings.setValue("splitterSizes", splitter.saveState())
另请参阅
- setChildrenCollapsible(arg__1)¶
- Parameters:
arg__1 – 布尔值
属性
childrenCollapsibleᅟ的设置器。- setCollapsible(index, collapse)¶
- Parameters:
index – 整数
collapse – bool
设置位于
index的子部件是否可折叠为collapse。默认情况下,子部件是可折叠的,这意味着即使用户有非零的
minimumSize()或minimumSizeHint(),用户也可以将它们调整到大小为0。可以通过调用此函数来逐个更改每个小部件的行为,或者通过设置childrenCollapsible属性来全局更改所有小部件的行为。- setHandleWidth(arg__1)¶
- Parameters:
arg__1 – 整数
另请参阅
属性
handleWidthᅟ的设置器。- setOpaqueResize([opaque=true])¶
- Parameters:
opaque – 布尔值
另请参阅
属性
opaqueResizeᅟ的设置器。- setOrientation(arg__1)¶
- Parameters:
arg__1 –
Orientation
另请参阅
属性
orientationᅟ的设置器。- setRubberBand(position)¶
- Parameters:
position – int
在位置
pos显示一个橡皮筋。如果pos为负数,则移除橡皮筋。- setSizes(list)¶
- Parameters:
list – .整数列表
将子部件的大小设置为
list中给定的值。如果分割器是水平的,则从左到右以像素为单位设置每个小部件的宽度。如果分割器是垂直的,则从上到下设置每个小部件的高度。
list中的额外值将被忽略。如果list包含的值太少,结果是未定义的,但程序仍将表现良好。分割器小部件的整体大小不受影响。相反,任何额外/缺失的空间将根据大小的相对权重在小部件之间分配。
如果您指定大小为0,小部件将不可见。小部件的大小策略将被保留。也就是说,小于相应小部件的最小大小提示的值将被提示的值替换。
另请参阅
- setStretchFactor(index, stretch)¶
- Parameters:
index – 整数
stretch – int
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
更新位置
index处小部件的大小策略,使其具有stretch的拉伸因子。stretch不是有效的拉伸因子;有效的拉伸因子是通过取小部件的初始大小并将其与stretch相乘来计算的。此函数为方便提供。它等同于
widget = splitter.widget(index) policy = widget.sizePolicy() policy.setHorizontalStretch(stretch) policy.setVerticalStretch(stretch) widget.setSizePolicy(policy)
另请参阅
- sizes()¶
- Return type:
整数列表
返回此分割器中所有小部件的大小参数列表。
如果分隔器的方向是水平的,列表包含从左到右的部件宽度(以像素为单位);如果方向是垂直的,列表包含从上到下的部件高度(以像素为单位)。
将值传递给另一个分割器的
setSizes()函数将生成一个与此布局相同的分割器。请注意,不可见的小部件的大小为0。
另请参阅
- splitterMoved(pos, index)¶
- Parameters:
pos – 整数
index – 整数
当特定
index处的分割器手柄移动到位置pos时,会发出此信号。对于从右到左的语言,如阿拉伯语和希伯来语,水平分割器的布局是相反的。
pos则是从小部件的右边缘开始的距离。另请参阅
返回拆分器布局中给定
index处的小部件,如果没有这样的小部件,则返回None。