Spec-Zone.ru › Qt 5.15

Класс QCollator

Класс QCollator сравнивает строки в соответствии с локальным алгоритмом сортировки. Подробнее...

Заголовок: #include <QCollator>
qmake: QT += core
С тех пор: Qt 5.2

Этот класс был представлен в Qt 5.2.

  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются реентерабельными.

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

QCollator(QCollator &&other)
QCollator(const QCollator &other)
QCollator(const QLocale &locale)
QCollator()
QCollator & operator=(QCollator &&other)
QCollator & operator=(const QCollator &other)
~QCollator()
Qt::CaseSensitivity caseSensitivity() const
int compare(QStringView s1, QStringView s2) const
int compare(const QString &s1, const QString &s2) const
int compare(const QStringRef &s1, const QStringRef &s2) const
int compare(const QChar *s1, int len1, const QChar *s2, int len2) const
bool ignorePunctuation() const
QLocale locale() const
bool numericMode() const
void setCaseSensitivity(Qt::CaseSensitivity sensitivity)
void setIgnorePunctuation(bool on)
void setLocale(const QLocale &locale)
void setNumericMode(bool on)
QCollatorSortKey sortKey(const QString &string) const
void swap(QCollator &other)

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

QCollator инициализируется с помощью QLocale и необязательной стратегии сортировки. Она пытается инициализировать сортировщик указанными значениями. Затем сортировщик может использоваться для сравнения и сортировки строк в зависимости от локали.

Объект QCollator может использоваться совместно с алгоритмами сортировки на основе шаблонов, такими как std::sort, для сортировки списка QStrings.

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

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

QCollator::QCollator(QCollator &&other)

Конструктор перемещения. Перемещает данные из other в этот сортировщик.

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

QCollator::QCollator(const QCollator &other)

Создаёт копию other.

QCollator::QCollator(const QLocale &locale)

Конструирует QCollator из locale.

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

QCollator::QCollator()

Конструирует QCollator, используя системную локаль по умолчанию для сортировки.

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

См. также setLocale() и QLocale::collation().

QCollator &QCollator::operator=(QCollator &&other)

Перемещающее присваивание из other в этот сортировщик.

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

QCollator &QCollator::operator=(const QCollator &other)

Присваивает other этому сортировщику.

QCollator::~QCollator()

Уничтожает сортировщик.

Qt::CaseSensitivity QCollator::caseSensitivity() const

Возвращает чувствительность к регистру сортировщика.

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

int QCollator::compare(QStringView s1, QStringView s2) const

Сравнивает s1 с s2.

Возвращает целое число меньше, равно или больше нуля в зависимости от того, предшествует ли s1, совпадает или следует за s2 при сортировке.

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

int QCollator::compare(const QString &s1, const QString &s2) const

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

Сравнивает s1 с s2.

Возвращает целое число меньше, равно или больше нуля в зависимости от того, предшествует ли s1, совпадает или следует за s2 при сортировке.

int QCollator::compare(const QStringRef &s1, const QStringRef &s2) const

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

Сравнивает s1 с s2.

Возвращает целое число меньше, равно или больше нуля в зависимости от того, предшествует ли s1, совпадает или следует за s2 при сортировке.

int QCollator::compare(const QChar *s1, int len1, const QChar *s2, int len2) const

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

Сравнивает s1 с s2. len1 и len2 задают длины массивов QChar, на которые указывают s1 и s2.

Возвращает целое число меньше, равно или больше нуля в зависимости от того, предшествует ли s1, совпадает или следует за s2 при сортировке.

bool QCollator::ignorePunctuation() const

Возвращает значение true, если знаки препинания и символы игнорируются при определении порядка сортировки.

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

QLocale QCollator::locale() const

Возвращает локаль сортировщика.

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

bool QCollator::numericMode() const

Возвращает true, если сортировка по числам включена, в противном случае — false.

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

void QCollator::setCaseSensitivity(Qt::CaseSensitivity sensitivity)

Устанавливает чувствительность к регистру сортировщика.

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

void QCollator::setIgnorePunctuation(bool on)

Если on установлено в true, знаки препинания и символы игнорируются при определении порядка сортировки.

Значение по умолчанию зависит от локали.

Примечание: Этот метод в настоящее время не поддерживается, если Qt сконфигурирован так, чтобы не использовать ICU в Linux.

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

void QCollator::setLocale(const QLocale &locale)

Устанавливает локаль сортировщика на locale.

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

void QCollator::setNumericMode(bool on)

Включает режим числовой сортировки, когда on установлено в true.

Это позволит правильно сортировать числовые цифры, так что, например, 100 будет сортироваться после 99.

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

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

QCollatorSortKey QCollator::sortKey(const QString &string) const

Возвращает sortKey для string.

Создание ключа сортировки обычно немного медленнее, чем непосредственное использование методов compare(). Но если строка сравнивается многократно (например, при сортировке всего списка строк), обычно быстрее создать ключи сортировки для каждой строки, а затем отсортировать, используя ключи.

Примечание: Не поддерживается с локалью C (также известной как POSIX) на Darwin.

void QCollator::swap(QCollator &other)

Меняет сортировщик местами с other. Эта функция очень быстрая и никогда не терпит неудачу.

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

Spec-Zone.ru

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