Класс 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.14/qcollator.html