我有一个QRect,我尝试使用RegExpFilter QRect(1220,50,500,300)在qml中过滤它。
我想像这样匹配它们: QRect(0-2000,0-500,*,*)
SortFilterProxyModel
{
onCountChanged: listView.recalculate()
id: proxyModel
sourceModel: m_sourceModel
filters: [
RegExpFilter {
enabled: true
roleName: "myQRectRole"
pattern: ????
}
]
}我卡住了,因为它是一个QRect,这是可能的吗?
(使用SortFilterProxyModel和RegExpFilter)
发布于 2019-03-17 06:25:25
RegExpFilter只用于过滤字符串,在您的例子中不是。解决方案是使用ExpressionFilter
SortFilterProxyModel {
id: proxyModel
sourceModel: m_sourceModel
filters: [
ExpressionFilter{
// QRect([0-2000], [0-500], *, *)
expression: (model.myQRectRole.x >= 0 && model.myQRectRole.x <= 2000) && (model.myQRectRole.y >= 0 && model.myQRectRole.y <= 500)
}
]
}在下面的link中有一个示例。
https://stackoverflow.com/questions/55200746
复制相似问题