QCollator 类根据本地整理算法比较字符串。 更多...
头: | #include <QCollator> |
CMake: |
find_package(Qt6 COMPONENTS Core REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Since: | 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 cs ) |
void | setIgnorePunctuation (bool on ) |
void | setLocale (const QLocale & locale ) |
void | setNumericMode (bool on ) |
QCollatorSortKey | sortKey (const QString & string ) const |
void | swap (QCollator & other ) |
bool | operator() (QStringView s1 , QStringView s2 ) const |
bool | operator() (const QString & s1 , const QString & s2 ) const |
QCollator 被初始化采用 QLocale . It can then be used to compare and sort strings in using the ordering appropriate to the locale.
A QCollator object can be used together with template-based sorting algorithms, such as std::sort(), to sort a list with QString 条目。
QStringList sortedStrings(QStringList seq) { QCollator order; std::sort(seq.begin(), seq.end(), order); return seq; }
In addition to the locale, several optional flags can be set that influence the result of the collation.
注意:
On Linux, Qt is normally compiled to use ICU. When it isn't, all options are ignored and the only supported locales are the system default (that
setlocale(LC_COLLATE, nullptr)
would report) and the "C" locale.
Move constructor. Moves from other into this collator.
Note that a moved-from QCollator can only be destroyed or assigned to. The effect of calling other functions than the destructor or one of the assignment operators is undefined.
创建副本为 other .
Constructs a QCollator using the given locale .
另请参阅 setLocale ().
[since 5.13]
QCollator::
QCollator
()
Constructs a QCollator using the default locale's collation locale.
The system locale, when used as default locale, may have a collation locale other than itself (e.g. on Unix, if LC_COLLATE is set differently to LANG in the environment). All other locales are their own collation locales.
该函数在 Qt 5.13 引入。
另请参阅 setLocale (), QLocale::collation (),和 QLocale::setDefault ().
Move-assigns from other to this collator.
Note that a moved-from QCollator can only be destroyed or assigned to. The effect of calling other functions than the destructor or one of the assignment operators is undefined.
赋值 other to this collator.
Destroys this collator.
Returns case sensitivity of the collator.
This defaults to case-sensitive until set.
注意: In the C locale, when case-sensitive, all lower-case letters sort after all upper-case letters, where most locales sort each lower-case letter either immediately before or immediately after its upper-case partner. Thus "Zap" sorts before "ape" in the C locale but after in most others.
另请参阅 setCaseSensitivity ().
[since 5.13]
int
QCollator::
compare
(
QStringView
s1
,
QStringView
s2
) const
比较 s1 with s2 .
Returns an integer less than, equal to, or greater than zero depending on whether s1 sorts before, with or after s2 .
该函数在 Qt 5.13 引入。
[since 5.2]
int
QCollator::
compare
(const
QString
&
s1
, const
QString
&
s2
) const
这是重载函数。
该函数在 Qt 5.2 引入。
[since 5.2]
int
QCollator::
compare
(const
QChar
*
s1
,
int
len1
, const
QChar
*
s2
,
int
len2
) const
这是重载函数。
比较 s1 with s2 . len1 and len2 specify the lengths of the QChar arrays pointed to by s1 and s2 .
Returns an integer less than, equal to, or greater than zero depending on whether s1 sorts before, with or after s2 .
该函数在 Qt 5.2 引入。
Returns whether punctuation and symbols are ignored when collating.
当
true
, strings are compared as if all punctuation and symbols were removed from each string.
另请参阅 setIgnorePunctuation ().
Returns the locale of the collator.
Unless supplied to the constructor or by calling setLocale (), the system's default collation locale is used.
另请参阅 setLocale () 和 QLocale::collation ().
返回
true
if numeric sorting is enabled,
false
否则。
当
true
, numerals are recognized as numbers and sorted in arithmetic order; for example, 100 sortes after 99. When
false
, numbers are sorted in lexical order, so that 100 sorts before 99 (because 1 is before 9). By default, this option is disabled.
另请参阅 setNumericMode ().
Sets the case-sensitivity of the collator to cs .
另请参阅 caseSensitivity ().
Ignores punctuation and symbols if
on
is
true
, attends to them if
false
.
另请参阅 ignorePunctuation ().
Sets the locale of the collator to locale .
另请参阅 locale ().
Enables numeric sorting mode when
on
is
true
.
另请参阅 numericMode ().
Returns a sortKey for string .
Creating the sort key is usually somewhat slower, than using the compare () methods directly. But if the string is compared repeatedly (e.g. when sorting a whole list of strings), it's usually faster to create the sort keys for each string and then sort using the keys.
注意: Not supported with the C (a.k.a. POSIX) locale on Darwin.
Swaps this collator with other 。此函数非常快且从不失败。
[since 5.13]
bool
QCollator::
operator()
(
QStringView
s1
,
QStringView
s2
) const
A
QCollator
can be used as the comparison function of a sorting algorithm. It returns
true
if
s1
sorts before
s2
, otherwise
false
.
该函数在 Qt 5.13 引入。
另请参阅 compare ().
[since 5.2]
bool
QCollator::
operator()
(const
QString
&
s1
, const
QString
&
s2
) const
这是重载函数。
该函数在 Qt 5.2 引入。