Qt regexp на QRect - PullRequest
       7

Qt regexp на QRect

2 голосов
/ 16 марта 2019

У меня есть QRect, который я пытаюсь отфильтровать в qml, используя RegExpFilter QRect (1220,50, 500, 300)

Я хочу сопоставить их так: QRect ([0-2000], [0-500], *, *)

SortFilterProxyModel
{
    onCountChanged: listView.recalculate()
    id: proxyModel
    sourceModel: m_sourceModel
    filters: [
        RegExpFilter {
            enabled: true 
            roleName: "myQRectRole"

            pattern: ????
        }
    ]
}

Я застрял, поскольку это QRect, это вообще возможно?

(используя SortFilterProxyModel и RegExpFilter)

1 Ответ

2 голосов
/ 17 марта 2019

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)
        }
    ]
}

В следующей ссылке есть пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...