Sur cette page

AnyOfFilter QML Type

Combine plusieurs filtres à l'aide d'un « OU logique » dans une « SortFilterProxyModel ». En savoir plus...

Import Statement: import QtQml.Models
Since: Qt 6.12
Inherits:

FilterBase

Status: Technology preview

Ce type est en préversion technologique et est susceptible d'être modifié.

Propriétés

Description détaillée

AnyOfFilter regroupe un ensemble de filtres enfants et recherche une ligne ou une colonne correspondant à au moins l'un des filtres enfants du groupe. Cela s'avère utile lorsque vous disposez de nombreuses conditions indépendantes pour inclure une ligne, sans qu'il soit nécessaire que toutes les conditions soient remplies.

L'extrait de code suivant montre comment utiliser AnyOfFilter pour inclure les lignes où status correspond soit à "active", soit à "pending":

SortFilterProxyModel {
    sourceModel: model
    filters: [
        AnyOfFilter {
            ValueFilter {
                roleName: "status"
                value: "active"
            }
            ValueFilter {
                roleName: "status"
                value: "pending"
            }
        }
    ]
}

Documentation des propriétés

filters : list<FilterBase>

Liste des filtres enfants évalués avec l'opérateur logique OU. Une ligne est acceptée si au moins un filtre de cette liste l'accepte.

Il s'agit de la propriété par défaut ; les filtres peuvent donc être déclarés en tant qu'enfants directs sans le mot-clé « filters » :

AnyOfFilter {
    ValueFilter { roleName: "status"; value: "active" }
    ValueFilter { roleName: "status"; value: "pending" }
}

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.