Класс QCollator
Класс QCollator сравнивает строки в соответствии с алгоритмом сортировки, локализованным для данной области. Подробнее...
| Заголовок: | #include <QCollator> |
| qmake: | QT += core |
| С момента: | Qt 5.2 |
Примечание: Все функции в этом классе являются повторно входящими.
Открытые функции
| QCollator(const QLocale &locale = QLocale()) | |
| QCollator(const QCollator &other) | |
| QCollator(QCollator &&other) | |
| ~QCollator() | |
| Qt::CaseSensitivity | caseSensitivity() 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 & | operator=(const QCollator &other) |
| QCollator & | operator=(QCollator &&other) |
Подробное описание
Класс QCollator сравнивает строки в соответствии с локализованным алгоритмом сортировки.
QCollator инициализируется с QLocale и (необязательной) стратегией сортировки. Он пытается инициализировать сортировщик указанными значениями. Затем сортировщик можно использовать для сравнения и сортировки строк в зависимости от локали.
Объект QCollator может использоваться совместно со стандартными алгоритмами сортировки, такими как std::sort, для сортировки списка QStrings.
Помимо локали и стратегии сортировки, можно установить несколько дополнительных флагов, которые влияют на результат сортировки.
Документация по функциям-членам
QCollator::QCollator(const QLocale &locale = QLocale())
Конструирует QCollator из locale. Если locale не указан, используется системная локаль по умолчанию.
См. также setLocale().
QCollator::QCollator(const QCollator &other)
Создает копию other.
QCollator::QCollator(QCollator &&other)
Конструктор перемещения. Перемещает содержимое из other в этот сортировщик.
Обратите внимание, что перемещённый из QCollator объект может быть только уничтожен или присвоен. Эффект вызова функций, отличных от деструктора или одного из операторов присваивания, не определён.
QCollator::~QCollator()
Уничтожает сортировщик.
Qt::CaseSensitivity QCollator::caseSensitivity() const
Возвращает чувствительность к регистру сортировщика.
См. также setCaseSensitivity().
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.
По умолчанию этот режим выключен.
Примечание: В Windows эта функциональность использует библиотеку ICU. Если Qt был скомпилирован без поддержки ICU, происходит откат к коду, использующему собственные API Windows, который работает только начиная с Windows 7. В более старых версиях Windows он не будет работать, и будет выведено предупреждение во время выполнения.
См. также numericMode().
QCollatorSortKey QCollator::sortKey(const QString &string) const
Возвращает sortKey для string.
Создание ключа сортировки обычно несколько медленнее, чем непосредственное использование методов compare(). Но если строка сравнивается многократно (например, при сортировке всего списка строк), обычно быстрее создать ключи сортировки для каждой строки, а затем отсортировать по ключам.
void QCollator::swap(QCollator &other)
Меняет этот коллатор с other. Эта функция очень быстрая и никогда не завершается с ошибкой.
QCollator &QCollator::operator=(const QCollator &other)
Присваивает other этому коллатору.
QCollator &QCollator::operator=(QCollator &&other)
Перемещает присваивание от other этому коллатору.
Обратите внимание, что перемещённый QCollator может быть только уничтожен или присвоен. Эффект вызова других функций, кроме деструктора или одного из операторов присваивания, не определён.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qcollator.html