Класс QSortFilterProxyModel
Класс QSortFilterProxyModel предоставляет поддержку сортировки и фильтрации данных, передаваемых между другим моделью и представлением. Подробнее...
| Заголовок: | #include <QSortFilterProxyModel> |
| qmake: | QT += core |
| С версии: | Qt 4.1 |
| Наследует: | QAbstractProxyModel |
Свойства
|
|
- 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 ®Exp) |
| 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);
При включенном этом свойстве (по умолчанию выключено) нажатие на заголовок сортирует элементы по этому столбцу. Повторное нажатие позволяет пользователю менять порядок сортировки на возрастающий или убывающий.
Внутри представления вызывается виртуальная функция 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 ®Exp) |
| 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