Spec-Zone.ru › Qt 5.9

Класс QSortFilterProxyModel

Класс QSortFilterProxyModel предоставляет поддержку сортировки и фильтрации данных, передаваемых между другим моделью и представлением. Подробнее...

Заголовок: #include <QSortFilterProxyModel>
qmake: QT += core
С версии: Qt 4.1
Наследует: QAbstractProxyModel
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Свойства

  • dynamicSortFilter : bool
  • filterCaseSensitivity : Qt::CaseSensitivity
  • filterKeyColumn : int
  • filterRegExp : QRegExp
  • filterRole : int
  • isSortLocaleAware : bool
  • sortCaseSensitivity : Qt::CaseSensitivity
  • sortRole : int
  • 1 свойство унаследовано от QAbstractProxyModel
  • 1 свойство унаследовано от QObject

Открытые функции

QSortFilterProxyModel(QObject *parent = Q_NULLPTR)
~QSortFilterProxyModel()
bool dynamicSortFilter() const
Qt::CaseSensitivity filterCaseSensitivity() const
int filterKeyColumn() const
QRegExp filterRegExp() const
int filterRole() const
bool isSortLocaleAware() const
void setDynamicSortFilter(bool enable)
void setFilterCaseSensitivity(Qt::CaseSensitivity cs)
void setFilterKeyColumn(int column)
void setFilterRegExp(const QRegExp &regExp)
void setFilterRole(int role)
void setSortCaseSensitivity(Qt::CaseSensitivity cs)
void setSortLocaleAware(bool on)
void setSortRole(int role)
Qt::CaseSensitivity sortCaseSensitivity() const
int sortColumn() const
Qt::SortOrder sortOrder() const
int sortRole() const

Переопределённые открытые функции

виртуальный QModelIndex buddy(const QModelIndex &index) const
виртуальный bool canFetchMore(const QModelIndex &parent) const
виртуальный int columnCount(const QModelIndex &parent = QModelIndex()) const
виртуальный QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const
виртуальный bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
виртуальный void fetchMore(const QModelIndex &parent)
виртуальный Qt::ItemFlags flags(const QModelIndex &index) const
виртуальный bool hasChildren(const QModelIndex &parent = QModelIndex()) const
виртуальный QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
виртуальный QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const
виртуальный bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex())
виртуальный bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex())
виртуальный QModelIndex mapFromSource(const QModelIndex &sourceIndex) const
виртуальный QItemSelection mapSelectionFromSource(const QItemSelection &sourceSelection) const
виртуальный QItemSelection mapSelectionToSource(const QItemSelection &proxySelection) const
виртуальный QModelIndex mapToSource(const QModelIndex &proxyIndex) const
виртуальный QModelIndexList match(const QModelIndex &start, int role, const QVariant &value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap )) const
виртуальный QMimeData * mimeData(const QModelIndexList &indexes) const
виртуальный QStringList mimeTypes() const
виртуальный QModelIndex parent(const QModelIndex &child) const
виртуальный bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex())
виртуальный bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex())
виртуальный int rowCount(const QModelIndex &parent = QModelIndex()) const
виртуальный bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)
виртуальный bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)
виртуальный void setSourceModel(QAbstractItemModel *sourceModel)
виртуальный QModelIndex sibling(int row, int column, const QModelIndex &idx) const
виртуальный void sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
виртуальный QSize span(const QModelIndex &index) const
виртуальный Qt::DropActions supportedDropActions() const
  • 28 public functions inherited from QAbstractProxyModel
  • 39 public functions inherited from QAbstractItemModel
  • 32 public functions inherited from QObject

Public Slots

void invalidate()
void setFilterFixedString(const QString &pattern)
void setFilterRegExp(const QString &pattern)
void setFilterWildcard(const QString &pattern)
  • 2 public slots inherited from QAbstractItemModel
  • 1 public slot inherited from QObject

Protected Functions

виртуальный bool filterAcceptsColumn(int source_column, const QModelIndex &source_parent) const
виртуальный bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
void invalidateFilter()
виртуальный bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const
  • 19 protected functions inherited from QAbstractItemModel
  • 9 protected functions inherited from QObject

Additional Inherited Members

  • 1 signal inherited from QAbstractProxyModel
  • 18 signals inherited from QAbstractItemModel
  • 2 signals inherited from QObject
  • 11 static public members inherited from QObject
  • 1 protected slot inherited from QAbstractProxyModel
  • 1 protected slot inherited from QAbstractItemModel

Подробное описание

Класс QSortFilterProxyModel предоставляет поддержку сортировки и фильтрации данных, передаваемых между другим моделем и представлением.

QSortFilterProxyModel может использоваться для сортировки элементов, фильтрации элементов или того и другого. Модель преобразует структуру исходной модели, сопоставляя индексы модели, которые она предоставляет, с новыми индексами, соответствующими различным местоположениям, для использования представлениями. Этот подход позволяет переструктурировать заданную исходную модель с точки зрения представлений, не требуя никаких преобразований исходных данных и не дублируя данные в памяти.

Предположим, что мы хотим отсортировать и отфильтровать элементы, предоставленные пользовательской моделью. Код для настройки модели и представления, без сортировки и фильтрации, будет выглядеть так:

        QTreeView *treeView = new QTreeView;
        MyItemModel *model = new MyItemModel(this);

        treeView->setModel(model);

Чтобы добавить поддержку сортировки и фильтрации к MyItemModel, нам нужно создать QSortFilterProxyModel, вызвать setSourceModel() с MyItemModel в качестве аргумента и установить QSortFilterProxyModel на представлении:

        QTreeView *treeView = new QTreeView;
        MyItemModel *sourceModel = new MyItemModel(this);
        QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this);

        proxyModel->setSourceModel(sourceModel);
        treeView->setModel(proxyModel);

В этот момент ни сортировка, ни фильтрация не включены; исходные данные отображаются в представлении. Любые изменения, внесенные через QSortFilterProxyModel, применяются к исходной модели.

QSortFilterProxyModel действует как оболочка для исходной модели. Если вам нужно преобразовать исходные QModelIndex в отсортированные/отфильтрованные индексы модели или наоборот, используйте mapToSource(), mapFromSource(), mapSelectionToSource() и mapSelectionFromSource().

Примечание: По умолчанию модель динамически повторно сортирует и повторно фильтрует данные всякий раз, когда изменяется исходная модель. Это поведение можно изменить, установив свойство dynamicSortFilter.

Примеры Базовая модель сортировки/фильтрации и Пользовательская модель сортировки/фильтрации иллюстрируют, как использовать QSortFilterProxyModel для выполнения базовой сортировки и фильтрации и как наследоваться от нее для реализации пользовательского поведения.

Сортировка

QTableView и QTreeView имеют свойство sortingEnabled, которое управляет возможностью пользователя сортировать представление, щелкнув заголовок представления по горизонтали. Например:

        treeView->setSortingEnabled(true);

При включенном этом свойстве (по умолчанию выключено) нажатие на заголовок сортирует элементы по этому столбцу. Повторное нажатие позволяет пользователю менять порядок сортировки на возрастающий или убывающий.

A sorted QTreeView

Внутри представления вызывается виртуальная функция sort() модели для изменения порядка данных в модели. Чтобы сделать данные сортируемыми, вы можете либо реализовать sort() в своей модели, либо использовать QSortFilterProxyModel для обертывания вашей модели — QSortFilterProxyModel предоставляет общую переработку sort(), которая работает с sortRole() (Qt::DisplayRole по умолчанию) элементов и понимает несколько типов данных, включая int, QString и QDateTime. Для иерархических моделей сортировка применяется рекурсивно ко всем дочерним элементам. Сравнение строк по умолчанию регистрозависимое; это можно изменить, установив свойство sortCaseSensitivity.

Пользовательское поведение сортировки достигается путем наследования от QSortFilterProxyModel и переопределения lessThan(), которое используется для сравнения элементов. Например:

bool MySortFilterProxyModel::lessThan(const QModelIndex &left,
                                      const QModelIndex &right) const
{
    QVariant leftData = sourceModel()->data(left);
    QVariant rightData = sourceModel()->data(right);

    if (leftData.type() == QVariant::DateTime) {
        return leftData.toDateTime() < rightData.toDateTime();
    } else {
        static QRegExp emailPattern("[\\w\\.]*@[\\w\\.]*)");

        QString leftString = leftData.toString();
        if(left.column() == 1 && emailPattern.indexIn(leftString) != -1)
            leftString = emailPattern.cap(1);

        QString rightString = rightData.toString();
        if(right.column() == 1 && emailPattern.indexIn(rightString) != -1)
            rightString = emailPattern.cap(1);

        return QString::localeAwareCompare(leftString, rightString) < 0;
    }
}

(Этот фрагмент кода взят из примера Пользовательская модель сортировки/фильтрации.)

Альтернативный подход к сортировке — выключение сортировки в представлении и наложение определенного порядка на пользователя. Это делается путем явного вызова sort() с нужным столбцом и порядком в качестве аргументов на QSortFilterProxyModel (или на исходной модели, если она реализует sort()). Например:

        proxyModel->sort(2, Qt::AscendingOrder);

QSortFilterProxyModel может быть отсортирован по столбцу -1, в этом случае он возвращается к порядку сортировки базовой исходной модели.

Фильтрация

Помимо сортировки, QSortFilterProxyModel может использоваться для скрытия элементов, которые не соответствуют определенному фильтру. Фильтр задаётся с помощью объекта QRegExp и применяется к filterRole() (Qt::DisplayRole по умолчанию) каждого элемента для заданного столбца. Объект QRegExp может использоваться для соответствия регулярному выражению, шаблону с подстановкой или фиксированной строке. Например:

        proxyModel->setFilterRegExp(QRegExp(".png", Qt::CaseInsensitive,
                                            QRegExp::FixedString));
        proxyModel->setFilterKeyColumn(1);

Для иерархических моделей фильтр применяется рекурсивно ко всем дочерним элементам. Если родительский элемент не соответствует фильтру, ни один из его дочерних элементов не будет отображаться.

Распространённый случай использования — позволить пользователю задать фильтр регулярного выражения, шаблон подстановки или фиксированную строку в QLineEdit и подключить сигнал textChanged() к setFilterRegExp(), setFilterWildcard() или setFilterFixedString() для повторного применения фильтра.

Пользовательское поведение фильтрации можно реализовать, переопределяя функции filterAcceptsRow() и filterAcceptsColumn(). Например (из примера Пользовательская модель сортировки/фильтрации), следующее реализация игнорирует свойство filterKeyColumn и выполняет фильтрацию по столбцам 0, 1 и 2:

bool MySortFilterProxyModel::filterAcceptsRow(int sourceRow,
        const QModelIndex &sourceParent) const
{
    QModelIndex index0 = sourceModel()->index(sourceRow, 0, sourceParent);
    QModelIndex index1 = sourceModel()->index(sourceRow, 1, sourceParent);
    QModelIndex index2 = sourceModel()->index(sourceRow, 2, sourceParent);

    return (sourceModel()->data(index0).toString().contains(filterRegExp())
            || sourceModel()->data(index1).toString().contains(filterRegExp()))
            && dateInRange(sourceModel()->data(index2).toDate());
}

(Этот фрагмент кода взят из примера Пользовательская модель сортировки/фильтрации.)

Если вы работаете с большими объёмами данных и вам нужно многократно вызывать invalidateFilter(), использование reset() может быть более эффективным, в зависимости от реализации вашей модели. Однако reset() возвращает модель прокси в исходное состояние, теряя информацию о выделении, и заставит модель прокси повторно заполниться.

Наследование

Поскольку QAbstractProxyModel и его подклассы производятся от QAbstractItemModel, большая часть советов по наследованию от обычных моделей также относится к моделям прокси. Кроме того, стоит отметить, что многие из реализаций функций в этом классе написаны таким образом, что они вызывают эквивалентные функции в соответствующей исходной модели. Эта простая механизм проксирования может потребовать переопределения для исходных моделей со более сложным поведением; например, если исходная модель предоставляет пользовательскую реализацию hasChildren(), вы должны также предоставить её в модели прокси.

Примечание: Некоторые общие рекомендации по наследованию от моделей доступны в Справочнике по наследованию от моделей.

См. также QAbstractProxyModel, QAbstractItemModel, Программирование модели/представления, Пример базовой модели сортировки/фильтрации, Пример пользовательской модели сортировки/фильтрации и QIdentityProxyModel.

Документация свойств

dynamicSortFilter : bool

Это свойство указывает, сортируется ли и фильтруется ли прокси-модель динамически всякий раз, когда изменяются данные исходной модели.

Обратите внимание, что при значении dynamicSortFilter, равном true, обновлять исходную модель через прокси-модель не следует. Например, если вы устанавливаете прокси-модель на QComboBox, то использование функций, обновляющих модель, например, addItem(), не будет работать должным образом. Альтернативой является установка dynamicSortFilter в значение false и вызов sort() после добавления элементов в QComboBox.

Значение по умолчанию равно true.

Это свойство было введено в Qt 4.2.

Функции доступа:

bool dynamicSortFilter() const
void setDynamicSortFilter(bool enable)

filterCaseSensitivity : Qt::CaseSensitivity

Это свойство определяет чувствительность к регистру шаблона QRegExp, используемого для фильтрации содержимого исходной модели.

По умолчанию фильтр чувствителен к регистру.

Функции доступа:

Qt::CaseSensitivity filterCaseSensitivity() const
void setFilterCaseSensitivity(Qt::CaseSensitivity cs)

См. также filterRegExp и sortCaseSensitivity.

filterKeyColumn : int

Это свойство определяет столбец, из которого считывается ключ, используемый для фильтрации содержимого исходной модели.

Значение по умолчанию равно 0. Если значение равно -1, ключи будут считываться из всех столбцов.

Функции доступа:

int filterKeyColumn() const
void setFilterKeyColumn(int column)

filterRegExp : QRegExp

Это свойство содержит QRegExp, используемый для фильтрации содержимого исходной модели.

Установка этого свойства перезаписывает текущее значение filterCaseSensitivity. По умолчанию QRegExp — это пустая строка, соответствующая всему содержимому.

Если QRegExp не задан или задана пустая строка, всё содержимое исходной модели будет приниматься.

Функции доступа:

QRegExp filterRegExp() const
void setFilterRegExp(const QRegExp &regExp)
void setFilterRegExp(const QString &pattern)

См. также filterCaseSensitivity, setFilterWildcard() и setFilterFixedString().

filterRole : int

Это свойство содержит роль элемента, которая используется для запроса данных исходной модели при фильтрации элементов.

Значение по умолчанию — Qt::DisplayRole.

Это свойство было введено в Qt 4.2.

Функции доступа:

int filterRole() const
void setFilterRole(int role)

См. также filterAcceptsRow().

isSortLocaleAware : bool

Это свойство содержит настройку локальной сортировки, используемую для сравнения строк при сортировке.

По умолчанию сортировка не учитывает локаль.

Это свойство было введено в Qt 4.3.

Функции доступа:

bool isSortLocaleAware() const
void setSortLocaleAware(bool on)

См. также sortCaseSensitivity и lessThan().

sortCaseSensitivity : Qt::CaseSensitivity

Это свойство содержит настройку чувствительности к регистру, используемую для сравнения строк при сортировке.

По умолчанию сортировка чувствительна к регистру.

Это свойство было введено в Qt 4.2.

Функции доступа:

Qt::CaseSensitivity sortCaseSensitivity() const
void setSortCaseSensitivity(Qt::CaseSensitivity cs)

См. также filterCaseSensitivity и lessThan().

sortRole : int

Это свойство содержит роль элемента, которая используется для запроса данных исходной модели при сортировке элементов.

Значение по умолчанию — Qt::DisplayRole.

Это свойство было введено в Qt 4.2.

Функции доступа:

int sortRole() const
void setSortRole(int role)

См. также lessThan().

Документация функций-членов

QSortFilterProxyModel::QSortFilterProxyModel(QObject *parent = Q_NULLPTR)

Конструирует модель сортировки и фильтрации с заданным parent.

QSortFilterProxyModel::~QSortFilterProxyModel()

Удаляет эту модель сортировки и фильтрации.

QModelIndex QSortFilterProxyModel::buddy(const QModelIndex &index) const

Переопределено из QAbstractItemModel::buddy().

bool QSortFilterProxyModel::canFetchMore(const QModelIndex &parent) const

Переопределено из QAbstractItemModel::canFetchMore().

int QSortFilterProxyModel::columnCount(const QModelIndex &parent = QModelIndex()) const

Переопределено из QAbstractItemModel::columnCount().

QVariant QSortFilterProxyModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const

Переопределено из QAbstractItemModel::data().

См. также setData().

bool QSortFilterProxyModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)

Переопределено из QAbstractItemModel::dropMimeData().

void QSortFilterProxyModel::fetchMore(const QModelIndex &parent)

Переопределено из QAbstractItemModel::fetchMore().

bool QSortFilterProxyModel::filterAcceptsColumn(int source_column, const QModelIndex &source_parent) const

Возвращает значение true если элемент в столбце, указанном с помощью source_column и source_parent, должен быть включён в модель; в противном случае возвращает false.

Реализация по умолчанию возвращает значение true если значение соответствующего элемента совпадает с фильтром, маской или регулярным выражением.

Примечание: По умолчанию, для определения, следует ли принимать столбец или нет, используется Qt::DisplayRole. Это можно изменить, установив свойство filterRole.

См. также filterAcceptsRow(), setFilterFixedString(), setFilterRegExp() и setFilterWildcard().

[virtual protected] bool QSortFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const

Возвращает true, если элемент в строке, указанной с помощью source_row и source_parent, должен быть включён в модель; в противном случае возвращает false.

Реализация по умолчанию возвращает true, если значение соответствующего элемента соответствует строке фильтра, строке шаблона или регулярному выражению.

Примечание: По умолчанию, для определения, следует ли принимать строку или нет, используется Qt::DisplayRole. Это можно изменить, установив свойство filterRole.

См. также filterAcceptsColumn(), setFilterFixedString(), setFilterRegExp() и setFilterWildcard().

[virtual] Qt::ItemFlags QSortFilterProxyModel::flags(const QModelIndex &index) const

Переопределено из QAbstractItemModel::flags().

[virtual] bool QSortFilterProxyModel::hasChildren(const QModelIndex &parent = QModelIndex()) const

Переопределено из QAbstractItemModel::hasChildren().

[virtual] QVariant QSortFilterProxyModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const

Переопределено из QAbstractItemModel::headerData().

См. также setHeaderData().

[virtual] QModelIndex QSortFilterProxyModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const

Переопределено из QAbstractItemModel::index().

[virtual] bool QSortFilterProxyModel::insertColumns(int column, int count, const QModelIndex &parent = QModelIndex())

Переопределено из QAbstractItemModel::insertColumns().

[virtual] bool QSortFilterProxyModel::insertRows(int row, int count, const QModelIndex &parent = QModelIndex())

Переопределено из QAbstractItemModel::insertRows().

[slot] void QSortFilterProxyModel::invalidate()

Отменяет текущую сортировку и фильтрацию.

Эта функция была добавлена в Qt 4.3.

См. также invalidateFilter().

[protected] void QSortFilterProxyModel::invalidateFilter()

Отменяет текущую фильтрацию.

Эта функция должна вызываться, если вы реализуете пользовательскую фильтрацию (например, filterAcceptsRow()), и параметры фильтра изменились.

Эта функция была добавлена в Qt 4.3.

См. также invalidate().

[virtual protected] bool QSortFilterProxyModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const

Возвращает true, если значение элемента, на который указывает данный индекс source_left, меньше значения элемента, на который указывает данный индекс source_right; в противном случае возвращает false.

Эта функция используется в качестве оператора < при сортировке и обрабатывает следующие типы QVariant:

  • QMetaType::Int
  • QMetaType::UInt
  • QMetaType::LongLong
  • QMetaType::ULongLong
  • QMetaType::Float
  • QMetaType::Double
  • QMetaType::QChar
  • QMetaType::QDate
  • QMetaType::QTime
  • QMetaType::QDateTime
  • QMetaType::QString

Любой другой тип будет преобразован в QString с помощью QVariant::toString().

Сравнение строк QString по умолчанию чувствительно к регистру; это можно изменить, используя свойство sortCaseSensitivity.

По умолчанию используется Qt::DisplayRole, связанный с QModelIndexes, для сравнений. Это можно изменить, установив свойство sortRole.

Примечание: Передаваемые индексы соответствуют модели-источнику.

См. также sortRole, sortCaseSensitivity и dynamicSortFilter.

[virtual] QModelIndex QSortFilterProxyModel::mapFromSource(const QModelIndex &sourceIndex) const

Переопределено из QAbstractProxyModel::mapFromSource().

Возвращает индекс модели в QSortFilterProxyModel, заданный с помощью sourceIndex из модели-источника.

См. также mapToSource().

[virtual] QItemSelection QSortFilterProxyModel::mapSelectionFromSource(const QItemSelection &sourceSelection) const

Переопределено из QAbstractProxyModel::mapSelectionFromSource().

[virtual] QItemSelection QSortFilterProxyModel::mapSelectionToSource(const QItemSelection &proxySelection) const

Переопределено из QAbstractProxyModel::mapSelectionToSource().

[virtual] QModelIndex QSortFilterProxyModel::mapToSource(const QModelIndex &proxyIndex) const

Переопределено из QAbstractProxyModel::mapToSource().

Возвращает индекс модели-источника, соответствующий заданному proxyIndex из модели сортировки и фильтрации.

См. также mapFromSource().

[virtual] QModelIndexList QSortFilterProxyModel::match(const QModelIndex &start, int role, const QVariant &value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap )) const

Переопределено из QAbstractItemModel::match().

[virtual] QMimeData *QSortFilterProxyModel::mimeData(const QModelIndexList &indexes) const

Переопределено из QAbstractItemModel::mimeData().

[virtual] QStringList QSortFilterProxyModel::mimeTypes() const

Переопределено из QAbstractItemModel::mimeTypes().

[virtual] QModelIndex QSortFilterProxyModel::parent(const QModelIndex &child) const

Переопределено из QAbstractItemModel::parent().

[virtual] bool QSortFilterProxyModel::removeColumns(int column, int count, const QModelIndex &parent = QModelIndex())

Переопределено из QAbstractItemModel::removeColumns().

[virtual] bool QSortFilterProxyModel::removeRows(int row, int count, const QModelIndex &parent = QModelIndex())

Переопределено из QAbstractItemModel::removeRows().

[virtual] int QSortFilterProxyModel::rowCount(const QModelIndex &parent = QModelIndex()) const

Переопределено из QAbstractItemModel::rowCount().

[virtual] bool QSortFilterProxyModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)

Переопределено из QAbstractItemModel::setData().

См. также data().

[slot] void QSortFilterProxyModel::setFilterFixedString(const QString &pattern)

Устанавливает строку поиска для фильтрации содержимого исходной модели заданным значением pattern.

См. также setFilterCaseSensitivity(), setFilterRegExp(), setFilterWildcard(), и filterRegExp().

[slot] void QSortFilterProxyModel::setFilterRegExp(const QString &pattern)

Это перегруженная функция.

Устанавливает регулярное выражение для фильтрации содержимого исходной модели на pattern.

Примечание: Функция-сеттер для свойства filterRegExp.

См. также setFilterCaseSensitivity(), setFilterWildcard(), setFilterFixedString(), и filterRegExp().

[slot] void QSortFilterProxyModel::setFilterWildcard(const QString &pattern)

Устанавливает выражение с подстановкой для фильтрации содержимого исходной модели заданным значением pattern.

См. также setFilterCaseSensitivity(), setFilterRegExp(), setFilterFixedString(), и filterRegExp().

[virtual] bool QSortFilterProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)

Переопределено из QAbstractItemModel::setHeaderData().

См. также headerData().

[virtual] void QSortFilterProxyModel::setSourceModel(QAbstractItemModel *sourceModel)

Переопределено из QAbstractProxyModel::setSourceModel().

[virtual] QModelIndex QSortFilterProxyModel::sibling(int row, int column, const QModelIndex &idx) const

Переопределено из QAbstractItemModel::sibling().

[virtual] void QSortFilterProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)

Переопределено из QAbstractItemModel::sort().

int QSortFilterProxyModel::sortColumn() const

Столбец, используемый для сортировки

Возвращает последний использованный столбец сортировки.

Функция была добавлена в Qt 4.5.

Qt::SortOrder QSortFilterProxyModel::sortOrder() const

Порядок, используемый для сортировки

Возвращает последний использованный порядок сортировки.

Функция была добавлена в Qt 4.5.

[virtual] QSize QSortFilterProxyModel::span(const QModelIndex &index) const

Переопределено из QAbstractItemModel::span().

[virtual] Qt::DropActions QSortFilterProxyModel::supportedDropActions() const

Переопределено из QAbstractItemModel::supportedDropActions().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qsortfilterproxymodel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API