PySide6.QtGraphs.QItemModelSurfaceDataProxy¶
- class QItemModelSurfaceDataProxy¶
用于在项目模型中展示数据的代理类,使用
Q3DSurfaceWidgetItem
。更多…概要¶
属性¶
autoColumnCategoriesᅟ
- 是否自动生成列类别autoRowCategoriesᅟ
- 是否自动生成行类别columnCategoriesᅟ
- 映射的列类别columnRoleᅟ
- 映射到列类别的项目模型角色columnRolePatternᅟ
- 在使用列角色映射的值作为列类别之前,是否对其进行了搜索和替换columnRoleReplaceᅟ
- 与列角色模式结合使用的替换内容itemModelᅟ
- 用作3D表面数据源的物品模型multiMatchBehaviorᅟ
- 如何处理每行/列组合的多个匹配项rowCategoriesᅟ
- 映射的行类别rowRoleᅟ
- 项目模型角色映射到行类别rowRolePatternᅟ
- 在使用行角色映射的值作为行类别之前,是否对其执行搜索和替换操作rowRoleReplaceᅟ
- 与行角色模式一起使用的替换内容useModelCategoriesᅟ
- 是否使用行和列的角色和类别进行映射xPosRoleᅟ
- 映射到X位置的项模型角色xPosRolePatternᅟ
- 在使用x位置角色映射的值作为项目位置值之前,是否对其进行了搜索和替换xPosRoleReplaceᅟ
- 与x位置角色模式一起使用的替换内容yPosRoleᅟ
- 项目模型角色映射到Y位置yPosRolePatternᅟ
- 是否在将y位置角色映射的值用作项目位置值之前对其进行搜索和替换yPosRoleReplaceᅟ
- 与y位置角色模式一起使用的替换内容zPosRoleᅟ
- 项目模型角色映射到Z位置zPosRolePatternᅟ
- 在使用z位置角色映射的值作为项目位置值之前,是否对其执行搜索和替换操作zPosRoleReplaceᅟ
- 与z位置角色模式一起使用的替换内容
方法¶
def
__init__()
def
columnRole()
def
itemModel()
def
remap()
def
rowCategories()
def
rowRole()
def
rowRolePattern()
def
rowRoleReplace()
def
setColumnRole()
def
setItemModel()
def
setRowRole()
def
setXPosRole()
def
setYPosRole()
def
setZPosRole()
def
xPosRole()
def
yPosRole()
def
zPosRole()
信号¶
def
rowRoleChanged()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QItemModelSurfaceDataProxy
允许你使用 QAbstractItemModel 派生模型作为Q3DSurfaceWidgetItem
的数据源。它使用定义的映射将模型中的数据映射到Q3DSurfaceWidgetItem
图表的行、列和表面点。每当映射或模型发生变化时,数据都会异步解析。当数据解析完成时,会发出
arrayReset()
。然而,当useModelCategories
属性设置为true
时,单个项目的更改会同步解析,除非同一帧中还包含导致整个模型解析的更改。映射可以用于以下方式:
如果
useModelCategories
属性设置为true
,此代理将把QAbstractItemModel的行和列映射到Q3DSurfaceWidgetItem
的行和列,并默认使用Qt::DisplayRole返回的值作为Y位置。如果行和列标题可以转换为浮点数,则默认使用它们作为Z位置和X位置。否则,使用行和列索引。如果Qt::DisplayRole不合适,可以重新定义要使用的Y位置角色。如果标题或索引不合适,可以重新定义要使用的Z位置和X位置角色。对于没有将数据整齐地排序成行和列的模型,例如基于QAbstractListModel的模型,您可以从模型中定义一个角色来映射每一行、列和Y位置。
如果您不想包含模型中包含的所有数据,或者自动生成的行和列没有按照您的意愿排序,您可以通过为行和列中的任意一个或两者定义明确的类别列表来指定应包含哪些行和列以及它们的顺序。
例如,假设您有一个自定义的QAbstractItemModel存储表面地形数据。模型中的每个项目都有“经度”、“纬度”和“高度”的角色。项目模型已经包含了正确排序的数据,以便经度和纬度首先以正确的顺序遇到,这使我们能够利用行和列类别的自动生成。您可以执行以下操作以在表面图中显示数据:
proxy = QItemModelSurfaceDataProxy(customModel,() "longitude", // Row role "latitude", // Column role "height") # Y-position role
如果模型的字段不包含您所需的确切格式的数据,您可以为每个角色指定一个搜索模式正则表达式和一个替换规则,以获取所需格式的值。有关如何使用正则表达式进行替换的更多信息,请参阅QString::replace(const QRegularExpression ℞, const QString &after)函数文档。请注意,使用正则表达式会影响性能,因此在不需要进行搜索和替换即可获得所需值的情况下,使用项模型更为高效。
例如,关于将搜索模式与角色结合使用的示例,请参见ItemModelBarDataProxy在简单条形图中的用法。
另请参阅
使用3D处理Qt图形数据
- class MultiMatchBehavior¶
multiMatchBehavior
属性的行为类型。常量
描述
QItemModelSurfaceDataProxy.MultiMatchBehavior.First
位置值取自与每个行/列组合匹配的项目模型中的第一个项目。
QItemModelSurfaceDataProxy.MultiMatchBehavior.Last
位置值取自与每个行/列组合匹配的项目模型中的最后一项。
QItemModelSurfaceDataProxy.MultiMatchBehavior.Average
匹配每个行/列组合的所有项目的位置值被平均在一起,平均值被用作表面点位置。
QItemModelSurfaceDataProxy.MultiMatchBehavior.CumulativeY
对于X和Z值,这就像
Average
一样,但Y值是相加而不是取平均值,总和用作表面点的Y位置。
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property autoColumnCategoriesᅟ: bool¶
此属性保存是否自动生成列类别。
当设置为
true
时,映射会忽略任何显式设置的列类别,并在解析模型数据时用自动生成的类别覆盖它们。默认为true
。- Access functions:
- property autoRowCategoriesᅟ: bool¶
此属性保存是否自动生成行类别。
当设置为
true
时,映射会忽略任何显式设置的行类别,并在解析模型数据时用自动生成的类别覆盖它们。默认为true
。- Access functions:
- property columnCategoriesᅟ: list of strings¶
此属性保存映射的列类别。
- Access functions:
- property columnRoleᅟ: str¶
此属性保存要映射到列类别的项目模型角色。
除了定义数据属于哪一列外,当模型数据被解析时,列角色指示的值也被设置为
QSurfaceDataItem
的X坐标值,除非还定义了单独的x位置角色。- Access functions:
- property columnRolePatternᅟ: QRegularExpression¶
此属性保存是否在将列角色映射的值用作列类别之前对其进行搜索和替换。
此属性指定用于查找要替换的映射值部分的正则表达式,而
columnRoleReplace
属性包含替换字符串。- Access functions:
- property columnRoleReplaceᅟ: str¶
此属性保存与列角色模式一起使用的替换内容。
默认为空字符串。有关如何使用正则表达式进行搜索和替换的更多信息,请参阅 QString::replace(const QRegularExpression ℞, const QString &after) 函数文档。
- Access functions:
- property itemModelᅟ: QAbstractItemModel¶
此属性保存用作3D曲面数据源的项模型。
- Access functions:
- property multiMatchBehaviorᅟ: QItemModelSurfaceDataProxy.MultiMatchBehavior¶
此属性决定了如何处理每行/列组合的多个匹配项。
默认为最后。
例如,您可能有一个包含不规则间隔时间戳数据的项目模型,并且您希望使用曲面图可视化每小时数据项的平均位置。这可以通过指定行和列类别来实现,以便每个曲面点代表一个小时,并将此属性设置为平均值。
- Access functions:
- property rowCategoriesᅟ: list of strings¶
此属性保存映射的行类别。
- Access functions:
- property rowRoleᅟ: str¶
此属性保存要映射到行类别的项目模型角色。
除了定义数据所属的行之外,当模型数据被解析时,行角色指示的值也被设置为
QSurfaceDataItem
的Z坐标值,除非还定义了单独的z位置角色。- Access functions:
- property rowRolePatternᅟ: QRegularExpression¶
此属性保存是否在将行角色映射的值用作行类别之前对其执行搜索和替换。
此属性指定用于查找要替换的映射值部分的正则表达式,而
rowRoleReplace
属性包含替换字符串。另请参阅
- Access functions:
- property rowRoleReplaceᅟ: str¶
此属性保存与行角色模式一起使用的替换内容。
默认为空字符串。有关如何使用正则表达式进行搜索和替换的更多信息,请参阅 QString::replace(const QRegularExpression ℞, const QString &after) 函数文档。
另请参阅
- Access functions:
- property useModelCategoriesᅟ: bool¶
此属性保存是否使用行和列角色及类别进行映射。
当设置为
true
时,映射忽略行和列的角色和类别,并使用模型中的行和列。默认为false
。- Access functions:
- property xPosRoleᅟ: str¶
此属性保存要映射到X位置的项模型角色。
如果未定义此角色,则使用
columnRole
来确定已解析的QSurfaceDataItem
对象的X坐标值。- Access functions:
- property xPosRolePatternᅟ: QRegularExpression¶
此属性保存是否在将x位置角色映射的值用作项目位置值之前对其进行搜索和替换。
此属性指定用于查找要替换的映射值部分的正则表达式,而
xPosRoleReplace
属性包含替换字符串。另请参阅
- Access functions:
- property xPosRoleReplaceᅟ: str¶
此属性保存与x位置角色模式一起使用的替换内容。
默认为空字符串。有关如何使用正则表达式进行搜索和替换的更多信息,请参阅 QString::replace(const QRegularExpression ℞, const QString &after) 函数文档。
另请参阅
- Access functions:
- property yPosRoleᅟ: str¶
此属性保存要映射到Y位置的项模型角色。
- Access functions:
- property yPosRolePatternᅟ: QRegularExpression¶
此属性保存是否在将y位置角色映射的值用作项目位置值之前对其进行搜索和替换。
此属性指定用于查找要替换的映射值部分的正则表达式,而
yPosRoleReplace
属性包含替换字符串。另请参阅
- Access functions:
- property yPosRoleReplaceᅟ: str¶
此属性保存与y位置角色模式一起使用的替换内容。
默认为空字符串。有关如何使用正则表达式进行搜索和替换的更多信息,请参阅 QString::replace(const QRegularExpression ℞, const QString &after) 函数文档。
另请参阅
- Access functions:
- property zPosRoleᅟ: str¶
此属性保存要映射到Z坐标的项模型角色。
如果未定义此角色,
rowRole
用于确定已解析的QSurfaceDataItem
对象的 Z 坐标值。- Access functions:
- property zPosRolePatternᅟ: QRegularExpression¶
此属性保存是否在将z位置角色映射的值用作项目位置值之前对其进行搜索和替换。
此属性指定用于查找要替换的映射值部分的正则表达式,而
zPosRoleReplace
属性包含替换字符串。另请参阅
- Access functions:
- property zPosRoleReplaceᅟ: str¶
此属性保存与z位置角色模式一起使用的替换内容。
默认为空字符串。有关如何使用正则表达式进行搜索和替换的更多信息,请参阅 QString::replace(const QRegularExpression ℞, const QString &after) 函数文档。
另请参阅
- Access functions:
使用可选的
parent
构造QItemModelSurfaceDataProxy
。- __init__(itemModel[, parent=None])
- Parameters:
itemModel –
QAbstractItemModel
parent –
QObject
使用
itemModel
和一个可选的parent
构造QItemModelSurfaceDataProxy
。代理不会获取itemModel
的所有权,因为通常项目模型由其他控件拥有。- __init__(itemModel, yPosRole[, parent=None])
- Parameters:
itemModel –
QAbstractItemModel
yPosRole – str
parent –
QObject
使用
itemModel
和一个可选的parent
构造QItemModelSurfaceDataProxy
。代理不拥有itemModel
的所有权,因为通常项目模型由其他控件拥有。yPosRole
角色设置为yPosRole
。此构造函数旨在用于已经按行和列正确排序数据的模型,因此它还设置useModelCategories
属性为true
。- __init__(itemModel, rowRole, columnRole, yPosRole[, parent=None])
- Parameters:
itemModel –
QAbstractItemModel
rowRole – str
columnRole – str
yPosRole – str
parent –
QObject
使用
itemModel
和一个可选的parent
构造QItemModelSurfaceDataProxy
。代理不会获取itemModel
的所有权,因为通常项目模型由其他控件拥有。角色映射通过rowRole
、columnRole
和yPosRole
设置。zPosRole
和xPosRole
分别设置为rowRole
和columnRole
。- __init__(itemModel, rowRole, columnRole, xPosRole, yPosRole, zPosRole[, parent=None])
- Parameters:
itemModel –
QAbstractItemModel
rowRole – str
columnRole – str
xPosRole – str
yPosRole – str
zPosRole – str
parent –
QObject
使用
itemModel
和一个可选的parent
构造QItemModelSurfaceDataProxy
。代理不会获取itemModel
的所有权,因为通常项目模型由其他控件拥有。角色映射通过rowRole
、columnRole
、xPosRole
、yPosRole
和zPosRole
设置。- __init__(itemModel, rowRole, columnRole, yPosRole, rowCategories, columnCategories[, parent=None])
- Parameters:
itemModel –
QAbstractItemModel
rowRole – str
columnRole – str
yPosRole – str
rowCategories – 字符串列表
columnCategories – 字符串列表
parent –
QObject
使用
itemModel
和一个可选的parent
构造QItemModelSurfaceDataProxy
。代理不会获取itemModel
的所有权,因为通常项目模型由其他控件拥有。角色映射通过rowRole
、columnRole
和yPosRole
设置。zPosRole
和xPosRole
分别设置为rowRole
和columnRole
。行和列类别通过rowCategories
和columnCategories
设置。此构造函数还将autoRowCategories
和autoColumnCategories
设置为false。- __init__(itemModel, rowRole, columnRole, xPosRole, yPosRole, zPosRole, rowCategories, columnCategories[, parent=None])
- Parameters:
itemModel –
QAbstractItemModel
rowRole – str
columnRole – str
xPosRole – str
yPosRole – str
zPosRole – str
rowCategories – 字符串列表
columnCategories – 字符串列表
parent –
QObject
使用
itemModel
和一个可选的parent
构造QItemModelSurfaceDataProxy
。代理不拥有itemModel
的所有权,因为通常项目模型由其他控件拥有。角色映射通过rowRole
、columnRole
、xPosRole
、yPosRole
和zPosRole
设置。行和列类别通过rowCategories
和columnCategories
设置。此构造函数还将autoRowCategories
和autoColumnCategories
设置为false。- autoColumnCategories()¶
- Return type:
布尔
属性
autoColumnCategoriesᅟ
的获取器。- autoColumnCategoriesChanged(enable)¶
- Parameters:
enable – 布尔值
属性
autoColumnCategoriesᅟ
的通知信号。- autoRowCategories()¶
- Return type:
布尔
属性
autoRowCategoriesᅟ
的获取器。- autoRowCategoriesChanged(enable)¶
- Parameters:
enable – 布尔值
属性
autoRowCategoriesᅟ
的通知信号。- columnCategories()¶
- Return type:
字符串列表
属性
columnCategoriesᅟ
的获取器。- columnCategoriesChanged()¶
属性
columnCategoriesᅟ
的通知信号。- columnCategoryIndex(category)¶
- Parameters:
类别 – str
- Return type:
整数
返回指定
category
在列类别列表中的索引。如果未找到该类别,则返回-1。注意
如果使用自动列类别生成,在模型中的数据首次解析之前,此方法将不会返回有效的索引。
- columnRole()¶
- Return type:
字符串
另请参阅
属性
columnRoleᅟ
的获取器。- columnRoleChanged(role)¶
- Parameters:
role – str
属性
columnRoleᅟ
的通知信号。- columnRolePattern()¶
- Return type:
属性
columnRolePatternᅟ
的获取器。- columnRolePatternChanged(pattern)¶
- Parameters:
pattern –
QRegularExpression
属性
columnRolePatternᅟ
的通知信号。- columnRoleReplace()¶
- Return type:
字符串
属性
columnRoleReplaceᅟ
的获取器。- columnRoleReplaceChanged(replace)¶
- Parameters:
replace – 字符串
属性
columnRoleReplaceᅟ
的通知信号。- itemModel()¶
- Return type:
另请参阅
属性
itemModelᅟ
的获取器。- itemModelChanged(itemModel)¶
- Parameters:
itemModel –
QAbstractItemModel
属性
itemModelᅟ
的通知信号。- multiMatchBehavior()¶
- Return type:
属性
multiMatchBehaviorᅟ
的获取器。- multiMatchBehaviorChanged(behavior)¶
- Parameters:
行为 –
MultiMatchBehavior
属性
multiMatchBehaviorᅟ
的通知信号。- remap(rowRole, columnRole, xPosRole, yPosRole, zPosRole, rowCategories, columnCategories)¶
- Parameters:
rowRole – str
columnRole – str
xPosRole – str
yPosRole – str
zPosRole – str
rowCategories – 字符串列表
columnCategories – 字符串列表
将
rowRole
、columnRole
、xPosRole
、yPosRole
、zPosRole
、rowCategories
和columnCategories
更改为映射。- rowCategories()¶
- Return type:
字符串列表
另请参阅
属性
rowCategoriesᅟ
的获取器。- rowCategoriesChanged()¶
属性
rowCategoriesᅟ
的通知信号。- rowCategoryIndex(category)¶
- Parameters:
类别 – str
- Return type:
整数
返回指定
category
在行类别列表中的索引。如果行类别列表为空,则返回-1。注意
如果正在使用自动行类别生成,在模型中的数据首次解析之前,此方法将不会返回有效的索引。
- rowRole()¶
- Return type:
字符串
另请参阅
属性
rowRoleᅟ
的获取器。- rowRoleChanged(role)¶
- Parameters:
role – str
属性
rowRoleᅟ
的通知信号。- rowRolePattern()¶
- Return type:
另请参阅
属性
rowRolePatternᅟ
的获取器。- rowRolePatternChanged(pattern)¶
- Parameters:
pattern –
QRegularExpression
属性
rowRolePatternᅟ
的通知信号。- rowRoleReplace()¶
- Return type:
字符串
另请参阅
属性
rowRoleReplaceᅟ
的获取器。- rowRoleReplaceChanged(replace)¶
- Parameters:
replace – 字符串
属性
rowRoleReplaceᅟ
的通知信号。- setAutoColumnCategories(enable)¶
- Parameters:
enable – 布尔值
属性
autoColumnCategoriesᅟ
的设置器。- setAutoRowCategories(enable)¶
- Parameters:
enable – 布尔值
另请参阅
属性
autoRowCategoriesᅟ
的设置器。- setColumnCategories(categories)¶
- Parameters:
categories – 字符串列表
另请参阅
属性
columnCategoriesᅟ
的设置器。- setColumnRole(role)¶
- Parameters:
role – str
另请参阅
属性
columnRoleᅟ
的设置器。- setColumnRolePattern(pattern)¶
- Parameters:
pattern –
QRegularExpression
另请参阅
属性
columnRolePatternᅟ
的设置器。- setColumnRoleReplace(replace)¶
- Parameters:
replace – 字符串
另请参阅
属性
columnRoleReplaceᅟ
的设置器。- setItemModel(itemModel)¶
- Parameters:
itemModel –
QAbstractItemModel
将项目模型设置为
itemModel
。不拥有模型的所有权,但会连接到模型以监听更改。另请参阅
属性
itemModelᅟ
的设置器。- setMultiMatchBehavior(behavior)¶
- Parameters:
行为 –
MultiMatchBehavior
另请参阅
属性
multiMatchBehaviorᅟ
的设置器。- setRowCategories(categories)¶
- Parameters:
categories – 字符串列表
另请参阅
属性
rowCategoriesᅟ
的设置器。属性
rowRoleᅟ
的设置器。- setRowRolePattern(pattern)¶
- Parameters:
pattern –
QRegularExpression
另请参阅
属性
rowRolePatternᅟ
的设置器。- setRowRoleReplace(replace)¶
- Parameters:
replace – 字符串
另请参阅
属性
rowRoleReplaceᅟ
的设置器。- setUseModelCategories(enable)¶
- Parameters:
enable – 布尔值
另请参阅
属性
useModelCategoriesᅟ
的设置器。- setXPosRole(role)¶
- Parameters:
role – str
另请参阅
属性
xPosRoleᅟ
的设置器。- setXPosRolePattern(pattern)¶
- Parameters:
pattern –
QRegularExpression
另请参阅
属性
xPosRolePatternᅟ
的设置器。- setXPosRoleReplace(replace)¶
- Parameters:
replace – 字符串
另请参阅
属性
xPosRoleReplaceᅟ
的设置器。- setYPosRole(role)¶
- Parameters:
role – str
另请参阅
属性
yPosRoleᅟ
的设置器。- setYPosRolePattern(pattern)¶
- Parameters:
pattern –
QRegularExpression
另请参阅
属性
yPosRolePatternᅟ
的设置器。- setYPosRoleReplace(replace)¶
- Parameters:
replace – 字符串
另请参阅
属性
yPosRoleReplaceᅟ
的设置器。- setZPosRole(role)¶
- Parameters:
role – str
另请参阅
属性
zPosRoleᅟ
的设置器。- setZPosRolePattern(pattern)¶
- Parameters:
pattern –
QRegularExpression
另请参阅
属性
zPosRolePatternᅟ
的设置器。- setZPosRoleReplace(replace)¶
- Parameters:
replace – 字符串
另请参阅
属性
zPosRoleReplaceᅟ
的设置器。- useModelCategories()¶
- Return type:
布尔
属性
useModelCategoriesᅟ
的获取器。- useModelCategoriesChanged(enable)¶
- Parameters:
enable – 布尔值
属性
useModelCategoriesᅟ
的通知信号。- xPosRole()¶
- Return type:
字符串
另请参阅
属性
xPosRoleᅟ
的获取器。- xPosRoleChanged(role)¶
- Parameters:
role – str
属性
xPosRoleᅟ
的通知信号。- xPosRolePattern()¶
- Return type:
另请参阅
属性
xPosRolePatternᅟ
的获取器。- xPosRolePatternChanged(pattern)¶
- Parameters:
pattern –
QRegularExpression
属性
xPosRolePatternᅟ
的通知信号。- xPosRoleReplace()¶
- Return type:
字符串
另请参阅
属性
xPosRoleReplaceᅟ
的获取器。- xPosRoleReplaceChanged(replace)¶
- Parameters:
replace – 字符串
属性
xPosRoleReplaceᅟ
的通知信号。- yPosRole()¶
- Return type:
字符串
另请参阅
属性
yPosRoleᅟ
的获取器。- yPosRoleChanged(role)¶
- Parameters:
role – str
属性
yPosRoleᅟ
的通知信号。- yPosRolePattern()¶
- Return type:
另请参阅
属性
yPosRolePatternᅟ
的获取器。- yPosRolePatternChanged(pattern)¶
- Parameters:
pattern –
QRegularExpression
属性
yPosRolePatternᅟ
的通知信号。- yPosRoleReplace()¶
- Return type:
字符串
另请参阅
属性
yPosRoleReplaceᅟ
的获取器。- yPosRoleReplaceChanged(replace)¶
- Parameters:
replace – 字符串
属性
yPosRoleReplaceᅟ
的通知信号。- zPosRole()¶
- Return type:
字符串
另请参阅
属性
zPosRoleᅟ
的获取器。- zPosRoleChanged(role)¶
- Parameters:
role – str
属性
zPosRoleᅟ
的通知信号。- zPosRolePattern()¶
- Return type:
另请参阅
属性
zPosRolePatternᅟ
的获取器。- zPosRolePatternChanged(pattern)¶
- Parameters:
pattern –
QRegularExpression
属性
zPosRolePatternᅟ
的通知信号。- zPosRoleReplace()¶
- Return type:
字符串
另请参阅
属性
zPosRoleReplaceᅟ
的获取器。- zPosRoleReplaceChanged(replace)¶
- Parameters:
replace – 字符串
属性
zPosRoleReplaceᅟ
的通知信号。