QCollator

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

Inheritance diagram of PySide2.QtCore.QCollator

New in version 5.2.

Synopsis

Functions

Detailed Description

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.

class PySide2.QtCore.QCollator

PySide2.QtCore.QCollator(arg__1)

PySide2.QtCore.QCollator(locale)

param locale

PySide2.QtCore.QLocale

param arg__1

PySide2.QtCore.QCollator

Constructs a QCollator using the system’s default collation locale.

PySide2.QtCore.QCollator.caseSensitivity()
Return type

CaseSensitivity

Returns case sensitivity of the collator.

PySide2.QtCore.QCollator.compare(s1, len1, s2, len2)
Parameters
  • s1QChar

  • len1 – int

  • s2QChar

  • len2 – int

Return type

int

This is an overloaded function.

Compares 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 .

PySide2.QtCore.QCollator.compare(s1, s2)
Parameters
  • s1 – str

  • s2 – str

Return type

int

PySide2.QtCore.QCollator.compare(s1, s2)
Parameters
  • s1QStringRef

  • s2QStringRef

Return type

int

PySide2.QtCore.QCollator.ignorePunctuation()
Return type

bool

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

PySide2.QtCore.QCollator.locale()
Return type

PySide2.QtCore.QLocale

Returns the locale of the collator.

See also

setLocale()

PySide2.QtCore.QCollator.numericMode()
Return type

bool

Returns true if numeric sorting is enabled, false otherwise.

See also

setNumericMode()

PySide2.QtCore.QCollator.operator()(s1, s2)
Parameters
  • s1 – str

  • s2 – str

Return type

bool

PySide2.QtCore.QCollator.setCaseSensitivity(cs)
Parameters

csCaseSensitivity

Sets the case sensitivity of the collator.

PySide2.QtCore.QCollator.setIgnorePunctuation(on)
Parameters

on – bool

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

The default is locale dependent.

Note

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

PySide2.QtCore.QCollator.setLocale(locale)
Parameters

localePySide2.QtCore.QLocale

Sets the locale of the collator to locale .

See also

locale()

PySide2.QtCore.QCollator.setNumericMode(on)
Parameters

on – bool

Enables numeric sorting mode when on is set to true.

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

By default this mode is off.

See also

numericMode()

PySide2.QtCore.QCollator.sortKey(string)
Parameters

string – str

Return type

PySide2.QtCore.QCollatorSortKey

Returns a 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.

Note

Not supported with the C (a.k.a. POSIX) locale on Darwin.

PySide2.QtCore.QCollator.swap(other)
Parameters

otherPySide2.QtCore.QCollator

Swaps this collator with other . This function is very fast and never fails.