Класс QCollator
Класс QCollator сравнивает строки в соответствии с локальным алгоритмом сортировки. Подробнее...
| Заголовок: | #include <QCollator> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| С момента: | 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 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().
[since 5.13] 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().
[since 5.13] 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 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-6.0/qcollator.html