QCollator 类

The QCollator class compares strings according to a localized collation algorithm. 更多...

头: #include <QCollator>
qmake: QT += core
Since: 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 )

详细描述

The QCollator class compares strings according to a localized collation algorithm.

QCollator is initialized with a QLocale and an optional collation strategy. It tries to initialize the collator with the specified values. The collator can then be used to compare and sort strings in a locale dependent fashion.

A QCollator object can be used together with template based sorting algorithms such as std::sort to sort a list of QStrings.

In addition to the locale and collation strategy, several optional flags can be set that influence the result of the collation.

成员函数文档编制

QCollator:: QCollator (const QLocale & locale = QLocale())

构造 QCollator from locale 。若 locale is not specified the system's default locale is used.

另请参阅 setLocale ().

QCollator:: QCollator (const QCollator & other )

创建副本为 other .

QCollator:: QCollator ( QCollator && other )

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.

QCollator:: ~QCollator ()

Destroys the collator.

Qt::CaseSensitivity QCollator:: caseSensitivity () const

Returns case sensitivity of the collator.

另请参阅 setCaseSensitivity ().

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

比较 s1 with s2 . Returns an integer less than, equal to, or greater than zero depending on whether s1 is smaller, equal or larger than s2 .

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

这是重载函数。

比较 s1 with s2 . Returns an integer less than, equal to, or greater than zero depending on whether s1 is smaller, equal or larger than s2 .

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

这是重载函数。

比较 s1 with s2 . len1 and len2 specify the length of the QChar arrays pointer to by s1 and s2 .

Returns an integer less than, equal to, or greater than zero depending on whether s1 is smaller, equal or larger than s2 .

bool QCollator:: ignorePunctuation () const

返回 true if punctuation characters and symbols are ignored when determining sort order.

另请参阅 setIgnorePunctuation ().

QLocale QCollator:: locale () const

Returns the locale of the collator.

另请参阅 setLocale ().

bool QCollator:: numericMode () const

返回 true if numeric sorting is enabled, false otherwise.

另请参阅 setNumericMode ().

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

Sets the case sensitivity of the collator.

另请参阅 caseSensitivity ().

void QCollator:: setIgnorePunctuation ( bool on )

on is set to true, punctuation characters and symbols are ignored when determining sort order.

The default is locale dependent.

注意: This method is not currently supported if Qt is configured to not use ICU on Linux.

另请参阅 ignorePunctuation ().

void QCollator:: setLocale (const QLocale & locale )

Sets the locale of the collator to locale .

另请参阅 locale ().

void QCollator:: setNumericMode ( bool on )

Enables numeric sorting mode when on 被设为 true。

This will enable proper sorting of numeric digits, so that e.g. 100 sorts after 99.

By default this mode is off.

注意: On Windows, this functionality makes use of the ICU library. If Qt was compiled without ICU support, it falls back to code using native Windows API, which only works from Windows 7 onwards. On older versions of Windows, it will not work and a warning will be emitted at runtime.

另请参阅 numericMode ().

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

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.

void QCollator:: swap ( QCollator & other )

Swaps this collator with other 。此函数非常快且从不失败。

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

赋值 other to this collator.

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

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.