QString Class
La classe QString fournit une chaîne de caractères Unicode. En savoir plus...
| En-tête : | #include <QString> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- Membres obsolètes
- QString fait partie des classes implicitement partagées et des classes pour les données de type chaîne.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Comparaisons QString
| Catégorie | Types comparables | Description |
|---|---|---|
| strong | QString | |
| strong | QChar, QLatin1StringView, const char16_t *, QStringView et QUtf8StringView. | |
| strong | QByteArray, QByteArrayView et const char *. | Lors de la comparaison avec des tableaux d’octets, leur contenu est interprété en UTF-8. |
Types publics
| ConstIterator | |
| Iterator | |
| enum | NormalizationForm { NormalizationForm_D, NormalizationForm_C, NormalizationForm_KD, NormalizationForm_KC } |
| enum | SectionFlag { SectionDefault, SectionSkipEmpty, SectionIncludeLeadingSep, SectionIncludeTrailingSep, SectionCaseInsensitiveSeps } |
| flags | SectionFlags |
| const_iterator | |
| const_pointer | |
| const_reference | |
| const_reverse_iterator | |
| difference_type | |
| iterator | |
| pointer | |
| reference | |
| reverse_iterator | |
| size_type | |
| value_type |
Fonctions publiques
| QString() | |
| QString(QChar ch) | |
| QString(QLatin1StringView str) | |
(since 6.8) | QString(QStringView sv) |
| QString(const QByteArray&ba) | |
| QString(const char*str) | |
(since 6.1) | QString(const char8_t*str) |
| QString(const QChar*unicode, qsizetype size = -1) | |
| QString(qsizetype size, QChar ch) | |
| QString(const QString&other) | |
| QString(QString&&other) | |
| ~QString() | |
| QString & | append(const QString&str) |
| QString & | append(QChar ch) |
| QString & | append(QLatin1StringView str) |
(since 6.0) QString & | append(QStringView v) |
(since 6.5) QString & | append(QUtf8StringView str) |
| QString & | append(const QByteArray&ba) |
| QString & | append(const char*str) |
| QString & | append(const QChar*str, qsizetype len) |
| QString | arg(Args &&... args) const |
| QString | arg(const T&a, int fieldWidth = 0, QChar fillChar = u' ') const |
| QString | arg(T a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
| QString | arg(T a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = u' ') const |
(since 6.6) QString & | assign(QAnyStringView v) |
(since 6.6) QString & | assign(InputIterator first, InputIterator last) |
(since 6.6) QString & | assign(qsizetype n, QChar c) |
| const QChar | at(qsizetype position) const |
| QChar & | back() |
| QChar | back() const |
| QString::iterator | begin() |
| QString::const_iterator | begin() const |
| qsizetype | capacity() const |
| QString::const_iterator | cbegin() const |
| QString::const_iterator | cend() const |
| void | chop(qsizetype n) |
| QString | chopped(qsizetype len) && |
| QString | chopped(qsizetype len) const & |
| void | clear() |
| int | compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(QLatin1StringView other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| int | compare(const QString&other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QString::const_iterator | constBegin() const |
| const QChar * | constData() const |
| QString::const_iterator | constEnd() const |
| bool | contains(const QRegularExpression&re, QRegularExpressionMatch*rmatch = nullptr) const |
| bool | contains(const QString&str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | count(const QString&str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | count(const QRegularExpression&re) const |
| qsizetype | count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.0) qsizetype | count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QString::const_reverse_iterator | crbegin() const |
| QString::const_reverse_iterator | crend() const |
| QChar * | data() |
| const QChar * | data() const |
| void | detach() |
| QString::iterator | end() |
| QString::const_iterator | end() const |
| bool | endsWith(const QString&s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.1) QString::iterator | erase(QString::const_iterator first, QString::const_iterator last) |
(since 6.5) QString::iterator | erase(QString::const_iterator it) |
| QString & | fill(QChar ch, qsizetype size = -1) |
(since 6.0) QString | first(qsizetype n) && |
(since 6.0) QString | first(qsizetype n) const & |
| QChar & | front() |
| QChar | front() const |
| qsizetype | indexOf(QLatin1StringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(const QRegularExpression&re, qsizetype from = 0, QRegularExpressionMatch*rmatch = nullptr) const |
| qsizetype | indexOf(const QString&str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(QChar ch, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QString & | insert(qsizetype position, const QString&str) |
| QString & | insert(qsizetype position, QChar ch) |
| QString & | insert(qsizetype position, QLatin1StringView str) |
(since 6.0) QString & | insert(qsizetype position, QStringView str) |
(since 6.5) QString & | insert(qsizetype position, QUtf8StringView str) |
| QString & | insert(qsizetype position, const QByteArray&str) |
| QString & | insert(qsizetype position, const char*str) |
| QString & | insert(qsizetype position, const QChar*unicode, qsizetype size) |
| bool | isEmpty() const |
| bool | isLower() const |
| bool | isNull() const |
| bool | isRightToLeft() const |
| bool | isUpper() const |
| bool | isValidUtf16() const |
(since 6.0) QString | last(qsizetype n) && |
(since 6.0) QString | last(qsizetype n) const & |
| qsizetype | lastIndexOf(const QRegularExpression&re, qsizetype from, QRegularExpressionMatch*rmatch = nullptr) const |
| qsizetype | lastIndexOf(const QString&str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.3) qsizetype | lastIndexOf(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.2) qsizetype | lastIndexOf(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.2) qsizetype | lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.2) qsizetype | lastIndexOf(const QRegularExpression&re, QRegularExpressionMatch*rmatch = nullptr) const |
(since 6.2) qsizetype | lastIndexOf(const QString&str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | lastIndexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | lastIndexOf(QLatin1StringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QString | left(qsizetype n) && |
| QString | left(qsizetype n) const & |
| QString | leftJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const |
| qsizetype | length() const |
(since 6.0) int | localeAwareCompare(QStringView other) const |
| int | localeAwareCompare(const QString&other) const |
(since 6.8) qsizetype | max_size() const |
| QString | mid(qsizetype position, qsizetype n = -1) && |
| QString | mid(qsizetype position, qsizetype n = -1) const & |
| QString | normalized(QString::NormalizationForm mode, QChar::UnicodeVersion version = QChar::Unicode_Unassigned) const |
(since 6.10) QString & | nullTerminate() |
(since 6.10) QString | nullTerminated() && |
(since 6.10) QString | nullTerminated() const & |
| QString & | prepend(const QString&str) |
| QString & | prepend(QChar ch) |
| QString & | prepend(QLatin1StringView str) |
(since 6.0) QString & | prepend(QStringView str) |
(since 6.5) QString & | prepend(QUtf8StringView str) |
| QString & | prepend(const QByteArray&ba) |
| QString & | prepend(const char*str) |
| QString & | prepend(const QChar*str, qsizetype len) |
| void | push_back(const QString&other) |
| void | push_back(QChar ch) |
| void | push_front(const QString&other) |
| void | push_front(QChar ch) |
| QString::reverse_iterator | rbegin() |
| QString::const_reverse_iterator | rbegin() const |
| QString & | remove(const QRegularExpression&re) |
| QString & | remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | remove(const QString&str, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | remove(qsizetype position, qsizetype n) |
| QString & | remove(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
(since 6.5) QString & | removeAt(qsizetype pos) |
(since 6.5) QString & | removeFirst() |
(since 6.1) QString & | removeIf(prédicat pred) |
(since 6.5) QString & | removeLast() |
| QString::reverse_iterator | rend() |
| QString::const_reverse_iterator | rend() const |
| QString | repeated(qsizetype fois) const |
| QString & | replace(qsizetype position, qsizetype n, const QString&after) |
| QString & | replace(const QRegularExpression&re, const QString&after) |
| QString & | replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(QChar c, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(QChar ch, const QString&après, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(QLatin1StringView before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(QLatin1StringView before, const QString&after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(const QString&avant, QLatin1StringView après, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(const QString&avant, const QString&après, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString & | replace(qsizetype position, qsizetype n, QChar after) |
| QString & | replace(qsizetype position, qsizetype n, const QChar*after, qsizetype alen) |
| QString & | replace(const QChar*before, qsizetype blen, const QChar*after, qsizetype alen, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| void | reserve(qsizetype size) |
| void | resize(qsizetype size) |
| void | resize(qsizetype nouvelleTaille, QChar caractèreDeRemplissage) |
(since 6.8) void | resizeForOverwrite(qsizetype taille) |
| QString | right(qsizetype n) && |
| QString | right(qsizetype n) const & |
| QString | rightJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const |
| QString | section(QChar sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const |
| QString | section(const QRegularExpression&re, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const |
| QString | section(const QString&sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const |
| QString & | setNum(int n, int base = 10) |
| QString & | setNum(long n, int base = 10) |
| QString & | setNum(qlonglong n, int base = 10) |
| QString & | setNum(qulonglong n, int base = 10) |
| QString & | setNum(short n, int base = 10) |
| QString & | setNum(uint n, int base = 10) |
| QString & | setNum(ulong n, int base = 10) |
| QString & | setNum(ushort n, int base = 10) |
| QString & | setNum(double n, char format = 'g', int precision = 6) |
| QString & | setNum(float n, char format = 'g', int precision = 6) |
| QString & | setRawData(const QChar*unicode, qsizetype taille) |
| QString & | setUnicode(const QChar*unicode, qsizetype taille) |
(since 6.9) QString & | setUnicode(const char16_t*unicode, qsizetype size) |
(since 6.9) QString & | setUtf16(const char16_t*unicode, qsizetype size) |
| void | shrink_to_fit() |
| QString | simplified() const |
| qsizetype | size() const |
(since 6.8) QString & | slice(qsizetype pos, qsizetype n) |
(since 6.8) QString & | slice(qsizetype pos) |
(since 6.0) QString | sliced(qsizetype pos, qsizetype n) && |
(since 6.0) QString | sliced(qsizetype pos, qsizetype n) const & |
(since 6.0) QString | sliced(qsizetype pos) && |
(since 6.0) QString | sliced(qsizetype pos) const & |
| QStringList | split(const QString&sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QStringList | split(const QRegularExpression&re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const |
| QStringList | split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| void | squeeze() |
| bool | startsWith(const QString&s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| void | swap(QString&other) |
| CFStringRef | toCFString() const |
| QString | toCaseFolded() const |
| double | toDouble(bool*ok = nullptr) const |
(since 6.6) emscripten::val | toEcmaString() const |
| float | toFloat(bool*ok = nullptr) const |
| QString | toHtmlEscaped() const |
| int | toInt(bool*ok = nullptr, int base = 10) const |
| QByteArray | toLatin1() const |
| QByteArray | toLocal8Bit() const |
| long | toLong(bool*ok = nullptr, int base = 10) const |
| qlonglong | toLongLong(bool*ok = nullptr, int base = 10) const |
| QString | toLower() const |
| NSString * | toNSString() const |
| short | toShort(bool*ok = nullptr, int base = 10) const |
| std::string | toStdString() const |
| std::u16string | toStdU16String() const |
| std::u32string | toStdU32String() const |
| std::wstring | toStdWString() const |
| uint | toUInt(bool*ok = nullptr, int base = 10) const |
| ulong | toULong(bool*ok = nullptr, int base = 10) const |
| qulonglong | toULongLong(bool*ok = nullptr, int base = 10) const |
| ushort | toUShort(bool*ok = nullptr, int base = 10) const |
| QList<uint> | toUcs4() const |
| QString | toUpper() const |
| QByteArray | toUtf8() const |
| qsizetype | toWCharArray(wchar_t*array) const |
(since 6.0) auto | tokenize(Needle &&sep, Flags... flags) && |
(since 6.0) auto | tokenize(Needle&&sep, Flags... flags) const && |
(since 6.0) auto | tokenize(Needle&&sep, Flags... flags) const & |
| QString | trimmed() const |
| void | truncate(qsizetype position) |
| const QChar * | unicode() const |
(since 6.7) | operator std::u16string_view() const |
| QString & | operator+=(const QString&autre) |
| QString & | operator+=(QChar ch) |
| QString & | operator+=(QLatin1StringView str) |
(since 6.0) QString & | operator+=(QStringView str) |
(since 6.5) QString & | operator+=(QUtf8StringView str) |
| QString & | operator+=(const QByteArray&ba) |
| QString & | operator+=(const char*str) |
| QString & | operator=(QString&&other) |
| QString & | operator=(const QString&other) |
| QString & | operator=(QChar ch) |
| QString & | operator=(QLatin1StringView str) |
| QString & | operator=(const QByteArray&ba) |
| QString & | operator=(const char*str) |
| QChar & | operator[](qsizetype position) |
| const QChar | operator[](qsizetype position) const |
Membres publics statiques
| QString | asprintf(const char*cformat, ...) |
| int | compare(const QString&s1, const QString&s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(QLatin1StringView s1, const QString&s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(QStringView s1, const QString&s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(const QString&s1, QLatin1StringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| int | compare(const QString&s1, QStringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QString | fromCFString(CFStringRef string) |
(since 6.6) QString | fromEcmaString(emscripten::val jsString) |
| QString | fromLatin1(const char*str, qsizetype size) |
(since 6.0) QString | fromLatin1(QByteArrayView str) |
| QString | fromLatin1(const QByteArray&str) |
| QString | fromLocal8Bit(const char*str, qsizetype size) |
(since 6.0) QString | fromLocal8Bit(QByteArrayView str) |
| QString | fromLocal8Bit(const QByteArray&str) |
| QString | fromNSString(const NSString*string) |
(since 6.10) QString | fromRawData(const char16_t*unicode, qsizetype size) |
| QString | fromRawData(const QChar*unicode, qsizetype size) |
| QString | fromStdString(const std::string&str) |
| QString | fromStdU16String(const std::u16string&str) |
| QString | fromStdU32String(const std::u32string&str) |
| QString | fromStdWString(const std::wstring&str) |
| QString | fromUcs4(const char32_t*unicode, qsizetype size = -1) |
| QString | fromUtf8(const char*str, qsizetype size) |
(since 6.0) QString | fromUtf8(QByteArrayView str) |
| QString | fromUtf8(const QByteArray&str) |
(since 6.1) QString | fromUtf8(const char8_t*str) |
(since 6.0) QString | fromUtf8(const char8_t*str, qsizetype size) |
| QString | fromUtf16(const char16_t*unicode, qsizetype size = -1) |
| QString | fromWCharArray(const wchar_t*string, qsizetype size = -1) |
| int | localeAwareCompare(const QString&s1, const QString&s2) |
(since 6.0) int | localeAwareCompare(QStringView s1, QStringView s2) |
(since 6.8) qsizetype | maxSize() |
| QString | number(long n, int base = 10) |
| QString | number(double n, char format = 'g', int precision = 6) |
| QString | number(int n, int base = 10) |
| QString | number(qlonglong n, int base = 10) |
| QString | number(qulonglong n, int base = 10) |
| QString | number(uint n, int base = 10) |
| QString | number(ulong n, int base = 10) |
| QString | vasprintf(const char*cformat, va_list ap) |
Éléments non membres associés
(since 6.1) qsizetype | erase(QString &s, const T &t) |
(since 6.1) qsizetype | erase_if(QString &s, Predicate pred) |
| bool | operator!=(const QByteArray &lhs, const QString &rhs) |
| bool | operator!=(const QString &lhs, const QString &rhs) |
| bool | operator!=(const char *const &lhs, const QString &rhs) |
| bool | operator!=(const QString &lhs, const QByteArray &rhs) |
| bool | operator!=(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator!=(const QString &lhs, const char *const &rhs) |
(since 6.4) QString | operator""_s(const char16_t *str, size_t size) |
| QString | operator+(QString &&s1, const QString &s2) |
(since 6.9) QString | operator+(QStringView lhs, const QString &rhs) |
(since 6.9) QString | operator+(const QString &lhs, QStringView rhs) |
| QString | operator+(const QString &s1, const QString &s2) |
| QString | operator+(const QString &s1, const char *s2) |
| QString | operator+(const char *s1, const QString &s2) |
| bool | operator<(const QByteArray &lhs, const QString &rhs) |
| bool | operator<(const char *const &lhs, const QString &rhs) |
| bool | operator<(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator<(const QString &lhs, const QByteArray &rhs) |
| bool | operator<(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator<(const QString &lhs, const QString &rhs) |
| bool | operator<(const QString &lhs, const char *const &rhs) |
| QDataStream & | operator<<(QDataStream &stream, const QString &string) |
| bool | operator<=(const QByteArray &lhs, const QString &rhs) |
| bool | operator<=(const QString &lhs, const QString &rhs) |
| bool | operator<=(const char *const &lhs, const QString &rhs) |
| bool | operator<=(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator<=(const QString &lhs, const QByteArray &rhs) |
| bool | operator<=(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator<=(const QString &lhs, const char *const &rhs) |
| bool | operator==(const QByteArray &lhs, const QString &rhs) |
| bool | operator==(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator==(const QString &lhs, const QByteArray &rhs) |
| bool | operator==(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator==(const QString &lhs, const QString &rhs) |
| bool | operator==(const QString &lhs, const char *const &rhs) |
| bool | operator==(const char *const &lhs, const QString &rhs) |
| bool | operator>(const QByteArray &lhs, const QString &rhs) |
| bool | operator>(const QString &lhs, const QString &rhs) |
| bool | operator>(const char *const &lhs, const QString &rhs) |
| bool | operator>(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator>(const QString &lhs, const QByteArray &rhs) |
| bool | operator>(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator>(const QString &lhs, const char *const &rhs) |
| bool | operator>=(const QByteArray &lhs, const QString &rhs) |
| bool | operator>=(const QString &lhs, const QString &rhs) |
| bool | operator>=(const char *const &lhs, const QString &rhs) |
| bool | operator>=(const QLatin1StringView &lhs, const QString &rhs) |
| bool | operator>=(const QString &lhs, const QByteArray &rhs) |
| bool | operator>=(const QString &lhs, const QLatin1StringView &rhs) |
| bool | operator>=(const QString &lhs, const char *const &rhs) |
| QDataStream & | operator>>(QDataStream &stream, QString &string) |
Macros
| QStringLiteral(str) | |
| QT_NO_CAST_FROM_ASCII | |
| QT_NO_CAST_TO_ASCII | |
| QT_RESTRICTED_CAST_FROM_ASCII | |
| const char * | qPrintable(const QString &str) |
| const wchar_t * | qUtf16Printable(const QString &str) |
| const char * | qUtf8Printable(const QString &str) |
Description détaillée
QString stocke une chaîne d’ QChars de 16 bits, où chaque QChar correspond à une unité de code UTF-16. (Les caractères Unicode dont la valeur de code est supérieure à 65 535 sont stockés à l’aide de paires de substitution, c’est-à-dire de deux QChars consécutives.)
Unicode est une norme internationale qui prend en charge la plupart des systèmes d'écriture utilisés aujourd'hui. Il s'agit d'un sur-ensemble de l'US-ASCII (ANSI X3.4-1986) et du Latin-1 (ISO 8859-1), et tous les caractères US-ASCII/Latin-1 sont disponibles aux mêmes positions de code.
En arrière-plan, QString utilise le partage implicite (copie à l'écriture) pour réduire l'utilisation de la mémoire et éviter la copie inutile de données. Cela contribue également à réduire la surcharge inhérente au stockage de caractères 16 bits plutôt que de caractères 8 bits.
Outre QString, Qt fournit également la classe ` QByteArray ` pour stocker des octets bruts et des chaînes traditionnelles de 8 bits terminées par «\0 ». Dans la plupart des cas, c'est la classe QString que vous devrez utiliser. Elle est utilisée dans l’ensemble de l’API Qt, et la prise en charge d’Unicode garantit que vos applications seront faciles à traduire si vous souhaitez, à un moment donné, étendre leur marché. L’ QByteArray est particulièrement indiquée dans deux cas précis : lorsque vous devez stocker des données binaires brutes et lorsque l’économie de mémoire est cruciale (comme dans les systèmes embarqués).
Initialisation d’une chaîne de caractères
Une façon d’initialiser un QString consiste à passer une const char * e à son constructeur. Par exemple, le code suivant crée un QString de taille 5 contenant la chaîne « Hello » :
QString str = "Hello";QString convertit les données de l'const char * en Unicode à l'aide de la fonction fromUtf8().
Dans toutes les fonctions de QString qui acceptent des paramètres de type « const char * », la chaîne « const char * » est interprétée comme une chaîne classique de style C, terminée par un caractère « '\\0' ». Sauf si le nom de la fonction indique explicitement un autre encodage, ces paramètres de type « const char * » sont supposés être encodés en UTF-8.
Depuis Qt 6.4, il est également possible d’initialiser des QStrings à l’aide des opérateurs littéraux ` Qt::Literals::StringLiterals::operator""_s()` et ` Qt::Literals::StringLiterals::operator""_L1()`. Dans de nombreux cas, l’utilisation de ces littéraux aboutit à ` more efficient string construction`.
Vous pouvez également fournir des données de chaîne sous la forme d’un tableau de ` QChar` :
static const QChar data[4] = {QChar(0x0055), QChar(0x006e), QChar(0x10e3), QChar(0x03a3) };
QString str(data, 4);QString effectue une copie profonde des données QChar, ce qui vous permet de les modifier ultérieurement sans subir d’effets secondaires. Vous pouvez éviter de réaliser une copie profonde des données de caractères en utilisant plutôt QStringView ou QString::fromRawData().
Une autre approche consiste à définir la taille de la chaîne à l’aide de ` resize()` et à initialiser les données caractère par caractère. QString utilise des indices commençant à 0, tout comme les tableaux en C++. Pour accéder au caractère situé à un indice donné, vous pouvez utiliser operator[](). Sur les chaînes nonconst, operator[]() renvoie une référence à un caractère qui peut être utilisée à gauche d’une affectation. Par exemple :
QString str;
str.resize(4);
str[0] = QChar('U');
str[1] = QChar('n');
str[2] = QChar(0x10e3);
str[3] = QChar(0x03a3);Pour un accès en lecture seule, une autre syntaxe consiste à utiliser la fonction at() :
QString str;
for (qsizetype i = 0; i < str.size();++i) {
if (str.at(i) >= QChar('a')&& str.at(i) <= QChar('f'))
qDebug() << "Found character in range [a-f]";
}La fonction at() peut être plus rapide que operator[]() car elle ne provoque jamais de copie profonde. Vous pouvez également utiliser les fonctions first(), last() ou sliced() pour extraire plusieurs caractères à la fois.
Un QString peut contenir des caractères «\0 » (QChar::Null). La fonction size() renvoie toujours la taille de la chaîne entière, y compris les caractères «\0 » qu’elle contient.
Après un appel à la fonction resize(), les caractères nouvellement alloués ont des valeurs indéfinies. Pour attribuer une valeur particulière à tous les caractères de la chaîne, utilisez la fonction fill().
QString propose des dizaines de surcharges conçues pour simplifier l'utilisation des chaînes de caractères. Par exemple, si vous souhaitez comparer un QString à un littéral de chaîne, vous pouvez écrire un code comme celui-ci, qui fonctionnera comme prévu :
QString str;
if (str == "auto" || str == "extern"
|| str == "static" || str == "register") {
// ...
}Vous pouvez également passer des littéraux de chaîne à des fonctions qui prennent des QStrings en arguments, en appelant le constructeur `QString(const char *)`. De même, vous pouvez passer un QString à une fonction qui prend un argument de type ` const char * ` à l’aide de la macro ` qPrintable()`, qui renvoie le QString donné sous la forme ` const char *`. Cela équivaut à appeler ` toLocal8Bit()` sur le QString. `constData()` sur le QString.
Manipulation des données de type chaîne de caractères
QString fournit les fonctions de base suivantes pour modifier les données de caractères : ` append()`, ` prepend()`, ` insert()`, ` replace()` et ` remove()`. Par exemple :
QString str = "and";
str.prepend("rock "); // str == "rock and"
str.append(" roll"); // str == "rock and roll"
str.replace(5, 3, "&"); // str == "rock & roll"Dans l’exemple ci-dessus, les deux premiers arguments de la fonction replace() correspondent à la position à partir de laquelle le remplacement doit commencer et au nombre de caractères à remplacer.
Lorsque des fonctions modifiant les données augmentent la taille de la chaîne, QString peut réallouer la mémoire dans laquelle il stocke ses données. Dans ce cas, QString s'étend au-delà de ses besoins immédiats afin de disposer d'espace pour une expansion ultérieure sans réallocation, jusqu’à ce que la taille de la chaîne ait considérablement augmenté.
Les fonctions ` insert()`, ` remove()` et, lors du remplacement d’une sous-chaîne par une autre de taille différente, ` replace()` peuvent s’avérer lentes (temps linéaire) pour les longues chaînes, car elles nécessitent de déplacer de nombreux caractères de la chaîne d’au moins une position en mémoire.
Si vous construisez un QString progressivement et que vous connaissez à l’avance le nombre approximatif de caractères qu’il contiendra, vous pouvez appeler ` reserve()`, en demandant à QString de préallouer une certaine quantité de mémoire. Vous pouvez également appeler ` capacity()` pour connaître la quantité de mémoire effectivement allouée par le QString.
QString fournit des itérateurs de type STL (QString::const_iterator et QString::iterator). En pratique, les itérateurs sont très utiles lorsque l’on utilise les algorithmes génériques fournis par la bibliothèque standard C++.
Remarque : on ne peut pas garantir queles itérateurs sur un QString, ni les références à des caractères individuels qu’il contient, resteront valides lorsqu’une méthode du QString autre queconst est appelée. L'accès à un tel itérateur ou à une telle référence après l'appel d'une méthode non-const entraîne un comportement indéfini. Lorsque la stabilité des fonctionnalités de type itérateur est requise, vous devez utiliser des indices plutôt que des itérateurs, car ceux-ci ne sont pas liés à l'état interne de QString et ne sont donc pas invalidés.
Remarque : en raison du partage implicite, le premier opérateur ou la première fonction non-const e utilisé(e) sur un QString donné peut entraîner en interne une copie profonde de ses données. Cela invalide tous les itérateurs sur la chaîne ainsi que les références aux caractères individuels qu’elle contient. N’appelez pas de fonctions non-const tout en conservant des itérateurs. L’accès à un itérateur ou à une référence après son invalidation entraîne un comportement indéfini. Consultez la section « Problème d’itérateur lié au partage implicite » pour plus d’informations.
Il est souvent nécessaire de supprimer ou de simplifier les espaces entre les caractères visibles d’une chaîne. Les caractères qui composent ces espaces sont ceux pour lesquels ` isSpace()` renvoie ` true`, tels que l’espace simple ` ' '`, la tabulation horizontale ` '\\t' ` et le retour à la ligne ` '\\n'`. Pour obtenir une copie d’une chaîne en omettant tous les espaces au début et à la fin, utilisez ` trimmed()`. Pour remplacer également chaque séquence de caractères d'espacement à l'intérieur de la chaîne par un espace simple ( ' '), utilisez simplified().
Si vous souhaitez rechercher toutes les occurrences d'un caractère ou d'une sous-chaîne particulière dans un QString, utilisez les fonctions indexOf() ou lastIndexOf(). La première effectue une recherche vers l'avant, la seconde vers l'arrière. Il est possible de spécifier à chacune d'elles une position d'index à partir de laquelle commencer la recherche. Chacune renvoie l'index du caractère ou de la sous-chaîne si elle le trouve ; sinon, elles renvoient -1. Voici, par exemple, une boucle typique permettant de trouver toutes les occurrences d'une sous-chaîne donnée :
QString str = "We must be <b>bold</b>, very <b>bold</b>";
qsizetype j = 0;
while ((j = str.indexOf("<b>", j)) !=-1) {
qDebug() << "Found <b> tag at index position" << j;
++j;
}QString fournit de nombreuses fonctions permettant de convertir des nombres en chaînes de caractères et des chaînes de caractères en nombres. Reportez-vous aux fonctions arg(), aux fonctions setNum(), aux fonctions statiques number() ainsi qu'aux fonctions toInt(), toDouble() et autres fonctions similaires.
Pour obtenir la version en majuscules ou en minuscules d’une chaîne, utilisez toUpper() ou toLower().
Les listes de chaînes de caractères sont gérées par la classe ` QStringList `. Vous pouvez diviser une chaîne en une liste de chaînes à l’aide de la fonction split(), et regrouper une liste de chaînes en une seule chaîne avec un séparateur facultatif à l’aide de QStringList::join(). Vous pouvez obtenir une liste filtrée à partir d’une liste de chaînes en sélectionnant les entrées qui contiennent une sous-chaîne particulière ou qui correspondent à une QRegularExpression. Voir QStringList::filter() pour plus de détails.
Interrogation des données de type chaîne de caractères
Pour vérifier si un QString commence ou se termine par une sous-chaîne donnée, utilisez startsWith() ou endsWith(). Pour vérifier si un QString contient un caractère ou une sous-chaîne spécifique, utilisez la fonction contains(). Pour déterminer combien de fois un caractère ou une sous-chaîne donné(e) apparaît dans une chaîne, utilisez count().
Pour obtenir un pointeur vers les données de caractères proprement dites, appelez data() ou constData(). Ces fonctions renvoient un pointeur vers le début des données de QChar. Il est garanti que ce pointeur restera valide jusqu’à ce qu’une fonction autre queconst soit appelée sur le QString.
Comparaison de chaînes de caractères
Les QStrings peuvent être comparées à l’aide d’opérateurs surchargés tels que operator<(), operator<=(), operator==(), operator>=(), etc. La comparaison repose exclusivement sur l’ordre lexicographique des deux chaînes, considérées comme des séquences d’unités de code UTF-16. Elle est très rapide mais ne correspond pas à ce à quoi s’attendrait un utilisateur ; la fonction ` QString::localeAwareCompare()` est généralement un meilleur choix pour trier les chaînes de l’interface utilisateur, lorsqu’une telle comparaison est disponible.
Lorsque Qt est lié à la bibliothèque ICU (ce qui est généralement le cas), c’est son tri tenant compte des paramètres régionaux qui est utilisé. Sinon, des solutions spécifiques à la plate-forme sont utilisées :
- Sous Windows, la fonction ` localeAwareCompare()` utilise les paramètres régionaux actuels de l’utilisateur, tels que définis dans les options « regional » et « language » de la page Control Panel.
- Sous macOS et iOS, la fonction ` localeAwareCompare()` effectue la comparaison en fonction du paramètre « Order for sorted lists » (Langue et région) du panneau « International preferences ».
- Sur les autres systèmes de type Unix, la comparaison utilise par défaut la fonction
strcoll()de la bibliothèque système.
Conversion entre des données de chaîne encodées et QString
QString fournit les fonctions suivantes qui renvoient une version « const char * » de la chaîne au format « QByteArray » : toUtf8(), toLatin1() et toLocal8Bit().
- toLatin1() renvoie une chaîne de 8 bits encodée en Latin-1 (ISO 8859-1).
- toUtf8() renvoie une chaîne de 8 bits encodée en UTF-8. L’UTF-8 est un sur-ensemble de l’US-ASCII (ANSI X3.4-1986) qui prend en charge l’ensemble complet des caractères Unicode grâce à des séquences multi-octets.
- toLocal8Bit() renvoie une chaîne de 8 bits utilisant l’encodage local du système. Cela équivaut à ` toUtf8()` sur les systèmes Unix.
Pour effectuer une conversion à partir de l’un de ces encodages, QString fournit les méthodes fromLatin1(), fromUtf8() et fromLocal8Bit(). D’autres encodages sont pris en charge via les classes QStringEncoder et QStringDecoder.
Comme mentionné ci-dessus, QString fournit de nombreuses fonctions et opérateurs qui facilitent l'interopérabilité avec les chaînes de caractères au format « const char * ». Mais cette fonctionnalité est à double tranchant : elle rend QString plus pratique à utiliser si toutes les chaînes sont au format US-ASCII ou Latin-1, mais il existe toujours le risque qu’une conversion implicite depuis ou vers l’ const char * soit effectuée en utilisant un encodage 8 bits incorrect. Pour minimiser ces risques, vous pouvez désactiver ces conversions implicites en définissant certains des symboles de préprocesseur suivants :
- QT_NO_CAST_FROM_ASCII désactive les conversions automatiques des littéraux de chaîne et des pointeurs C vers Unicode.
- QT_RESTRICTED_CAST_FROM_ASCII autorise les conversions automatiques à partir de caractères C et de tableaux de caractères, mais désactive les conversions automatiques à partir de pointeurs de caractères vers Unicode.
- QT_NO_CAST_TO_ASCII désactive la conversion automatique de QString vers des chaînes de caractères C.
Vous devez alors appeler explicitement ` fromUtf8()`, ` fromLatin1()` ou ` fromLocal8Bit()` pour construire un `QString` à partir d'une chaîne de 8 bits, ou utiliser la classe allégée ` QLatin1StringView `. Par exemple :
// Required for using the '_L1' string literal.
using namespace Qt::StringLiterals;
// ...
QString url = "https://www.unicode.org/"_L1;De même, vous devez appeler explicitement toLatin1(), toUtf8() ou toLocal8Bit() pour convertir le QString en chaîne de 8 bits.
| Remarque à l'attention des programmeurs C |
|---|
En raison du système de types du C++ et du fait que QString est implicitement partagé, les objets QString peuvent être traités comme des intou d’autres types de base. Par exemple :La variable ` |
Distinction entre les chaînes nulles et vides
Pour des raisons historiques, QString fait la distinction entre les chaînes nulles et les chaînes vides. Une chaîne nulle est une chaîne initialisée à l’aide du constructeur par défaut de QString ou en passant ` nullptr ` au constructeur. Une chaîne vide est toute chaîne de taille 0. Une chaîne nulle est toujours vide, mais une chaîne vide n’est pas nécessairement nulle :
QString().isNull(); // returns true
QString().isEmpty(); // returns true
QString("").isNull(); // returns false
QString("").isEmpty(); // returns true
QString("abc").isNull(); // returns false
QString("abc").isEmpty(); // returns falseToutes les fonctions, à l’exception de ` isNull()`, traitent les chaînes nulles de la même manière que les chaînes vides. Par exemple, ` toUtf8()`. La fonction `constData()` renvoie un pointeur valide (et non ` nullptr`) vers le caractère «\0 » pour une chaîne nulle. Nous vous recommandons de toujours utiliser la fonction ` isEmpty()` et d’éviter ` isNull()`.
Formats numériques
Lorsqu’un spécificateur de format QString::arg() '%' inclut le qualificateur de locale 'L' et que la base est 10 (valeur par défaut), la locale par défaut est utilisée. Celle-ci peut être définie à l’aide de QLocale::setDefault(). Pour un contrôle plus fin des représentations localisées des nombres sous forme de chaînes, voir QLocale::toString(). Tous les autres formatages de nombres effectués par QString suivent la représentation des nombres de la locale C.
Lorsque la fonction QString::arg() applique un remplissage à gauche aux nombres, le caractère de remplissage '0' est traité de manière particulière. Si le nombre est négatif, son signe moins apparaît avant le zéro de remplissage. Si le champ est localisé, le caractère zéro approprié à la locale est utilisé à la place de '0'. Pour les nombres à virgule flottante, ce traitement particulier ne s’applique que si le nombre est fini.
Formats à virgule flottante
Dans les fonctions membres (par exemple, ` arg()` et ` number()`) qui formatent des nombres à virgule flottante (`float ` ou ` double`) sous forme de chaînes de caractères, la représentation utilisée peut être contrôlée par le choix du format et de la précision, dont les significations sont les mêmes que pour ` QLocale::toString` (`double`, `char`, `int`).
Si le format sélectionné comprend un exposant, les formes localisées respectent les conventions de la locale concernant les chiffres de l’exposant. Pour le formatage non localisé, l’exposant affiche son signe et comprend au moins deux chiffres, complétés par des zéros à gauche si nécessaire.
Construction plus efficace des chaînes de caractères
De nombreuses chaînes sont connues au moment de la compilation. Le constructeur QString à partir de littéraux de chaîne C++ copie le contenu de la chaîne, en le traitant comme du UTF-8. Cela nécessite une allocation de mémoire et un réencodage des données de la chaîne, opérations qui auront lieu lors de l’exécution. Si les données de la chaîne sont connues au moment de la compilation, vous pouvez utiliser la macro ` QStringLiteral ` ou, de manière similaire, ` operator""_s ` pour créer le contenu de la chaîne QString au moment de la compilation.
'+' Grâce à l’opérateur de concaténation de QString, il est facile de construire une chaîne complexe à partir de plusieurs sous-chaînes. Vous écrirez souvent du code comme celui-ci :
// Required for using the '_L1' string literal.
using namespace Qt::StringLiterals;
// ...
QString foo;
QString type = "long";
foo = "vector<"_L1 + type + ">::iterator"_L1;
if (foo.startsWith("(" + type + ") 0x"))
...Ces deux constructions de chaînes ne présentent aucun problème en soi, mais elles recèlent quelques inefficacités cachées :
Tout d’abord, l’utilisation répétée de l’opérateur « '+' » peut entraîner de multiples allocations de mémoire. Lors de la concaténation de n sous-chaînes, où n > 2, il peut y avoir jusqu’à n - 1 appels à l’allocateur de mémoire.
Ces allocations peuvent être optimisées par une classe interne nommée ` QStringBuilder`. Cette classe est marquée comme « interne » et n’apparaît pas dans la documentation, car vous n’êtes pas censé l’instancier dans votre code. Son utilisation se fera automatiquement, comme décrit ci-dessous.
QStringBuilder Elle utilise des modèles d’expression et réimplémente l’opérateur ` '%' ` de telle sorte que, lorsque vous utilisez ` '%' ` pour la concaténation de chaînes au lieu de ` '+'`, les concaténations de sous-chaînes multiples seront reportées jusqu’à ce que le résultat final soit sur le point d’être assigné à un `QString`. À ce stade, la quantité de mémoire requise pour le résultat final est connue. L’allocateur de mémoire est alors appelé une seule fois pour obtenir l’espace nécessaire, et les sous-chaînes y sont copiées une par une.
Un gain d’efficacité supplémentaire est obtenu grâce à l’inlining et à la réduction du comptage de références (le QString créé à partir d’un QStringBuilder a un compteur de références égal à 1, tandis que QString::append() nécessite un test supplémentaire).
Il existe deux façons d’accéder à cette méthode améliorée de construction de chaînes. La méthode la plus simple consiste à inclure ` QStringBuilder ` partout où vous souhaitez l’utiliser et à utiliser l’opérateur ` '%' ` à la place de ` '+' ` lors de la concaténation de chaînes :
#include <QStringBuilder>
QString hello("hello");
QStringView el = QStringView{ hello }.sliced(2, 3);
QString message = hello % el % "world"_L1 % QChar('!');Une approche plus globale, plus pratique mais pas entièrement compatible au niveau du code source, consiste à définir QT_USE_QSTRINGBUILDER (en l’ajoutant aux options du compilateur) lors de la compilation. Ainsi, la concaténation de chaînes avec '+' fonctionnera de la même manière que QStringBuilder's '%' .
Remarque : l’utilisation de la déduction automatique de type (par exemple, via le mot-clé ` auto `) sur le résultat d’une concaténation de chaînes lorsque `QStringBuilder` est activé montrera que la concaténation est bel et bien un objet d’une spécialisation de `QStringBuilder` :
QString str("QStringBuilder");
// "s" type is deduced as QStringBuilder<...>
auto s = "Like hot glue, " % str % " concatenates strings";
// Similarly the return type of this lambda is deduced as QStringBuilder<...>
auto concatenateStr = []() {
return "Like hot glue, " % str % " concatenates strings";
};Cela ne pose aucun problème, car QStringBuilder effectuera implicitement la conversion en QString lorsque cela sera nécessaire. Si ce comportement n’est pas souhaité, il convient alors de spécifier les types nécessaires au lieu de laisser le compilateur les déduire :
QString s = "Like hot glue, " % str % " concatenates strings";
// With a lambda, specify a trailing return type:
auto concatenateStr = []() -> QString {
return "Like hot glue, " % str % " concatenates strings";
};Taille maximale et conditions de manque de mémoire
La taille maximale de QString dépend de l’architecture. La plupart des systèmes 64 bits peuvent allouer plus de 2 Go de mémoire, la limite typique étant de 2^63 octets. La valeur réelle dépend également de la surcharge nécessaire à la gestion du bloc de données. Par conséquent, on peut s’attendre à une taille maximale de 2 Go moins la surcharge sur les plateformes 32 bits et de 2^63 octets moins la surcharge sur les plateformes 64 bits. Le nombre d’éléments pouvant être stockés dans un QString correspond à cette taille maximale divisée par la taille d’ QChar.
En cas d’échec de l’allocation de mémoire, QString lève une exception « std::bad_alloc » si l’application a été compilée avec le support des exceptions. Les situations de manque de mémoire dans les conteneurs Qt sont les seuls cas où Qt lève des exceptions. Si les exceptions sont désactivées, le manque de mémoire entraîne un comportement indéfini.
Remarque : les systèmes d’exploitationcibles peuvent imposer des limites sur la quantité totale de mémoire qu’une application peut allouer, ou sur la taille des allocations individuelles. Cela peut restreindre davantage la taille de la chaîne qu’un QString peut contenir. L’atténuation ou le contrôle du comportement induit par ces limites dépasse le cadre de l’API Qt.
Voir également « Quelle classe de chaînes utiliser ? », fromRawData(), QChar, QStringView, QLatin1StringView et QByteArray.
Documentation sur les types de membres
QString::ConstIterator
Synonyme de « QString::const_iterator » dans le style Qt.
QString::Iterator
Synonyme de « QString::iterator » dans le style Qt.
enum QString::NormalizationForm
Cette énumération décrit les différentes formes normalisées du texte Unicode.
| Constante | Valeur | Description |
|---|---|---|
QString::NormalizationForm_D | 0 | Décomposition canonique |
QString::NormalizationForm_C | 1 | Décomposition canonique suivie d’une composition canonique |
QString::NormalizationForm_KD | 2 | Décomposition de compatibilité |
QString::NormalizationForm_KC | 3 | Décomposition de compatibilité suivie d'une composition canonique |
Voir également normalized() et l'annexe n° 15 de la norme Unicode.
enum QString::SectionFlag
flags QString::SectionFlags
Cette énumération spécifie les indicateurs pouvant être utilisés pour modifier divers aspects du comportement de la fonction ` section()` en ce qui concerne les séparateurs et les champs vides.
| Constante | Valeur | Description |
|---|---|---|
QString::SectionDefault | 0x00 | Les champs vides sont pris en compte, les séparateurs de début et de fin ne sont pas inclus, et la comparaison du séparateur tient compte de la casse. |
QString::SectionSkipEmpty | 0x01 | Traite les champs vides comme s'ils n'existaient pas, c'est-à-dire qu'ils ne sont pas pris en compte pour déterminer le début et la fin. |
QString::SectionIncludeLeadingSep | 0x02 | Inclure le séparateur de début (le cas échéant) dans la chaîne de résultat. |
QString::SectionIncludeTrailingSep | 0x04 | Inclure le séparateur de fin (le cas échéant) dans la chaîne de résultat. |
QString::SectionCaseInsensitiveSeps | 0x08 | Comparer le séparateur sans tenir compte de la casse. |
Le type SectionFlags est un typedef pour QFlags<SectionFlag>. Il stocke une combinaison OU de valeurs SectionFlag.
Voir aussi section().
QString::const_iterator
Voir également QString::iterator.
QString::const_pointer
Le typedef QString::const_pointer fournit un pointeur constant de type STL vers un élément de type ` QString ` (QChar).
QString::const_reference
QString::const_reverse_iterator
Voir également QString::reverse_iterator et QString::const_iterator.
QString::difference_type
QString::iterator
Voir également QString::const_iterator.
QString::pointer
Le typedef QString::pointer fournit un pointeur de type STL vers un élément de type ` QString ` (QChar).
QString::reference
QString::reverse_iterator
Voir également QString::const_reverse_iterator et QString::iterator.
QString::size_type
QString::value_type
Documentation sur les fonctions des membres
[constexpr noexcept] QString::QString()
Crée une chaîne nulle. Les chaînes nulles sont également considérées comme vides.
Voir également isEmpty(), isNull() et Distinction Between Null and Empty Strings.
QString::QString(QChar ch)
Crée une chaîne de taille 1 contenant le caractère « ch ».
QString::QString(QLatin1StringView str)
Crée une copie de la chaîne Latin-1 telle qu'elle est affichée par str.
Voir également fromLatin1().
[explicit, since 6.8] QString::QString(QStringView sv)
Crée une chaîne initialisée avec les données de la vue de chaîne.
La chaîne QString sera nulle si et seulement si ` sv ` est nulle.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi fromUtf16().
QString::QString(const QByteArray &ba)
Crée une chaîne initialisée avec le tableau d'octets ba. Le tableau d'octets fourni est converti en Unicode à l'aide de la fonction fromUtf8().
Vous pouvez désactiver ce constructeur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Remarque : tout octet nul («\0 ») présent dans le tableau d’octets sera inclus dans cette chaîne, converti en caractère nul Unicode (U+0000). Ce comportement diffère de celui de Qt 5.x.
Voir également ` fromLatin1()`, ` fromLocal8Bit()` et ` fromUtf8()`.
QString::QString(const char *str)
Construit une chaîne initialisée avec la chaîne 8 bits str. Le pointeur const char fourni est converti en Unicode à l'aide de la fonction fromUtf8().
Vous pouvez désactiver ce constructeur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Remarque : la définition de ` QT_RESTRICTED_CAST_FROM_ASCII ` désactive également ce constructeur, mais active à la place un constructeur ` QString(const char (&ch)[N]) `. L’utilisation d’une entrée non littérale, ou d’une entrée contenant des caractères NUL ou des caractères non 7 bits, n’est pas définie dans ce cas.
Voir également fromLatin1(), fromLocal8Bit() et fromUtf8().
[since 6.1] QString::QString(const char8_t *str)
Crée une chaîne initialisée avec la chaîne UTF-8 str. Le pointeur const char8_t fourni est converti en Unicode à l'aide de la fonction fromUtf8().
Cette fonction a été introduite dans Qt 6.1.
Voir également fromLatin1(), fromLocal8Bit() et fromUtf8().
[explicit] QString::QString(const QChar *unicode, qsizetype size = -1)
Construit une chaîne initialisée avec les premiers size caractères du tableau QChar unicode .
Si unicode est égal à 0, une chaîne vide est construite.
Si size est négatif, unicode est supposé pointer vers un tableau terminé par «\0 » et sa longueur est déterminée dynamiquement. Le caractère nul de fin n’est pas considéré comme faisant partie de la chaîne.
QString effectue une copie profonde des données de la chaîne. Les données Unicode sont copiées telles quelles et le marqueur d'ordre des octets (Byte Order Mark) est conservé s'il est présent.
Voir également fromRawData().
QString::QString(qsizetype size, QChar ch)
Construit une chaîne à partir de l'size on fournie, chaque caractère étant défini comme suit : ch.
Voir aussi fill().
[noexcept] QString::QString(const QString &other)
Crée une copie de other.
Cette opération prend un temps constant, car QString est implicitement partagé. Cela rend le retour d'un QString depuis une fonction très rapide. Si une instance partagée est modifiée, elle sera copiée (copie à l'écriture), ce qui prend un temps linéaire.
Voir également operator=().
[noexcept default] QString::QString(QString &&other)
Crée une instance de QString par « move », de sorte qu'elle pointe vers le même objet que celui vers lequel pointait other.
[noexcept] QString::~QString()
Supprime la chaîne.
QString &QString::append(const QString &str)
Ajoute la chaîne « str » à la fin de cette chaîne.
Exemple :
Cela revient à utiliser la fonction insert() :
x.insert(x.size(), y);La fonction append() est généralement très rapide (temps constant), car QString préalloue de l'espace supplémentaire à la fin des données de la chaîne afin qu'elle puisse s'allonger sans avoir à réallouer la chaîne entière à chaque fois.
Voir également operator+=(), prepend() et insert().
QString &QString::append(QChar ch)
Ajoute le caractère ch à cette chaîne.
Cette fonction surcharge la méthode QString::append().
QString &QString::append(QLatin1StringView str)
Ajoute à cette chaîne la chaîne Latin-1 traitée par la fonction str.
Cette fonction surcharge la méthode QString::append().
[since 6.0] QString &QString::append(QStringView v)
Ajoute la vue de chaîne fournie v à cette chaîne et renvoie le résultat.
Cette fonction surcharge la méthode QString::append().
Cette fonction a été introduite dans Qt 6.0.
[since 6.5] QString &QString::append(QUtf8StringView str)
Ajoute la vue de chaîne UTF-8 str à cette chaîne.
Cette fonction surcharge la méthode QString::append().
Cette fonction a été introduite dans Qt 6.5.
QString &QString::append(const QByteArray &ba)
Ajoute le tableau d'octets ba à cette chaîne. Le tableau d'octets fourni est converti en Unicode à l'aide de la fonction fromUtf8().
Vous pouvez désactiver cette fonction en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la méthode QString::append().
QString &QString::append(const char *str)
Ajoute la chaîne « str » à cette chaîne. Le pointeur const char fourni est converti en Unicode à l'aide de la fonction fromUtf8().
Vous pouvez désactiver cette fonction en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction QString::append().
QString &QString::append(const QChar *str, qsizetype len)
Ajoute les caractères len provenant du tableau QChar str à cette chaîne.
Cette fonction surcharge la méthode QString::append().
template <typename... Args> QString QString::arg(Args &&... args) const
Remplace les occurrences de « %N » dans cette chaîne par l’argument correspondant issu de « args ». Les arguments ne sont pas positionnels : le premier de « args » remplace « %N » par la valeur la plus basse de « N » (toutes), le deuxième de « args » remplace « %N » par la valeur suivante la plus basse de « N », etc.
Args peut être constitué de n’importe quel élément se convertissant implicitement en QAnyStringView.
Remarque : dans les versions de Qt antérieures à la version 6.9, les chaînes de caractères « QAnyStringView » et UTF-8 (QUtf8StringView, QByteArray, QByteArrayView, const char8_t*, etc.) n’étaient pas prises en charge en tant qu’ args.
Voir également QString::arg().
template <typename T> requires if_string_like<T> QString QString::arg(const T &a, int fieldWidth = 0, QChar fillChar = u' ') const
Renvoie une copie de cette chaîne dans laquelle le marqueur de position ayant le numéro le plus bas est remplacé par la chaîne a, c'est-à-dire %1, %2, ..., %99.
fieldWidth spécifie l’espace minimum que a doit occuper. Si a nécessite moins d’espace que fieldWidth, il est complété jusqu’à fieldWidth avec le caractère fillChar. Une valeur positive de fieldWidth produit un texte aligné à droite. Une valeur négative de fieldWidth produit un texte aligné à gauche.
Cet exemple montre comment créer une chaîne status pour indiquer la progression lors du traitement d’une liste de fichiers :
int i; // current file's number
int total; // number of files to process
QStringView fileName; // current file's name
QString status = QString("Processing file %1 of %2: %3")
.arg(i).arg(total).arg(fileName);Tout d’abord, ` arg(i) ` remplace ` %1`. Ensuite, ` arg(total) ` remplace ` %2`. Enfin, ` arg(fileName) ` remplace ` %3`.
L’un des avantages de l’utilisation de `arg()` par rapport à ` asprintf()` est que l’ordre des marqueurs de position numérotés peut changer si les chaînes de l’application sont traduites dans d’autres langues, mais chaque `arg()` remplacera toujours le marqueur de position non remplacé ayant le numéro le plus bas, quel que soit l’endroit où il apparaît. De plus, si le marqueur de position %i apparaît plusieurs fois dans la chaîne, arg() les remplace tous.
S'il ne reste aucun marqueur de position non remplacé, un message d'avertissement s'affiche et le résultat est indéfini. Les numéros des marqueurs de position doivent être compris entre 1 et 99.
Remarque : dans les versions de Qt antérieures à la version 6.9, cette fonction était surchargée pour les arguments char, QChar, QString, QStringView et QLatin1StringView; dans certains cas, les arguments wchar_t et char16_t étaient traités comme des surcharges pour les entiers. Dans les versions de Qt antérieures à la version 5.10, cette fonction ne disposait pas des surcharges QStringView et QLatin1StringView.
template <typename T> requires if_integral_non_char<T> QString QString::arg(T a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
L'argument ` a ` est exprimé en base ` base`, qui est de 10 par défaut et doit être comprise entre 2 et 36. Pour les bases autres que 10, ` a ` est traité comme un entier non signé.
fieldWidth Spécifie l’espace minimum jusqu’auquel a est complété et rempli avec le caractère fillChar. Une valeur positive produit un texte aligné à droite ; une valeur négative produit un texte aligné à gauche.
Le caractère « % » peut être suivi d’un « L » ; dans ce cas, la séquence est remplacée par une représentation localisée de ` a`. La conversion utilise les paramètres régionaux par défaut, définis par ` QLocale::setDefault()`. Si aucun paramètre régional par défaut n’a été spécifié, ce sont ceux du système qui sont utilisés. L’indicateur « L » est ignoré si ` base ` n’est pas égal à 10.
QString str;
str = QString("Decimal 63 is %1 in hexadecimal")
.arg(63, 0, 16);
// str == "Decimal 63 is 3f in hexadecimal"
QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
str = QString("%1 %L2 %L3")
.arg(12345)
.arg(12345)
.arg(12345, 0, 16);
// str == "12345 12,345 3039"Remarque : dans les versions de Qt antérieures à la 6.10.1, cette fonction acceptait des arguments de types se convertissant implicitement en types entiers. Cette fonctionnalité n’est plus prise en charge, sauf pour les énumérations (sans portée), car elle acceptait également des types convertibles en types à virgule flottante, ce qui entraînait une perte de précision lorsque ceux-ci étaient affichés sous forme d’entiers. Une solution rétrocompatible consiste à convertir ces types en un type C++ dont la forme d’affichage correspond à votre intention (int, float, …).
Remarque : dans les versions de Qt antérieures à la version 6.9, cette fonction était surchargée sur divers types entiers et acceptait parfois à tort des arguments de type ` char ` et ` char16_t `.
Cette fonction surcharge QString::arg().
Voir aussi Number formats.
template <typename T> requires if_floating_point<T> QString QString::arg(T a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = u' ') const
L'argument « a » est formaté conformément aux spécifications format et precision. Pour plus de détails, consultez Floating-point Formats.
fieldWidth Spécifie l’espace minimum jusqu’auquel ` a ` est complété et rempli avec le caractère ` fillChar`. Une valeur positive produit un texte aligné à droite ; une valeur négative produit un texte aligné à gauche.
double d = 12.34;
QString str = QString("delta: %1").arg(d, 0, 'E', 3);
// str == "delta: 1.234E+01"Remarque : dans les versions de Qt antérieures à la version 6.9, cette fonction était une fonction classique prenant en argument double. Comme il s’agit désormais d’une fonction modèle, elle n’accepte plus les arguments qui sont simplement convertis implicitement en types à virgule flottante. Une solution compatible avec les versions antérieures consiste à convertir ces types en l’un des types à virgule flottante de C++.
Cette fonction surcharge ` QString::arg()`.
Voir également QLocale::toString(), QLocale::FloatingPointPrecisionOption et Number formats.
[static] QString QString::asprintf(const char *cformat, ...)
Crée en toute sécurité une chaîne formatée à partir de la chaîne de format cformat et d’une liste arbitraire d’arguments.
La chaîne de format prend en charge les spécificateurs de conversion, les modificateurs de longueur et les indicateurs fournis par la fonction printf() de la bibliothèque C++ standard. La chaîne cformat et les arguments %s doivent être encodés en UTF-8.
Remarque : la séquence d’échappement %lc attend un caractère Unicode de type char16_t (tel que renvoyé par QChar::unicode()), ou ushort. La séquence d’échappement %ls attend un pointeur vers un tableau de caractères Unicode terminé par un zéro, de type char16_t, ou ushort (tel que renvoyé par QString::utf16()). Cela va à l’encontre de la fonction printf() de la bibliothèque C++ standard, qui définit %lc pour afficher un wchar_t et %ls pour afficher un wchar_t*, et peut également générer des avertissements du compilateur sur les plateformes où la taille de wchar_t n’est pas de 16 bits.
Avertissement : nous déconseillons l’utilisation de `QString::asprintf()` dans le nouveau code Qt. Envisagez plutôt d’utiliser ` QTextStream ` ou ` arg()`, qui prennent tous deux en charge les chaînes Unicode de manière transparente et garantissent la sécurité des types. Voici un exemple utilisant ` QTextStream` :
QString result;
QTextStream(&result) << "pi = " << 3.14;
// result == "pi = 3.14"Pour translations, en particulier si les chaînes contiennent plusieurs séquences d'échappement, il est préférable d'utiliser la fonction arg() à la place. Cela permet au traducteur de contrôler l'ordre des remplacements.
Voir également arg().
[since 6.6] QString &QString::assign(QAnyStringView v)
Remplace le contenu de cette chaîne par une copie de v et renvoie une référence à cette chaîne.
La taille de cette chaîne sera égale à celle de ` v`, convertie en UTF-16 comme si elle avait été traitée par ` v.toString()`. Contrairement à ` QAnyStringView::toString()`, cette fonction n’alloue toutefois de la mémoire que si la taille estimée dépasse la capacité de cette chaîne ou si celle-ci est partagée.
Cette fonction a été introduite dans Qt 6.6.
Voir également QAnyStringView::toString().
[since 6.6] template <typename InputIterator> requires if_compatible_iterator<InputIterator> QString &QString::assign(InputIterator first, InputIterator last)
Remplace le contenu de cette chaîne par une copie des éléments de la plage de l'itérateur [first, last) et renvoie une référence à cette chaîne.
La taille de cette chaîne sera égale à la longueur décodée des éléments de l’intervalle [first, last), qui ne sera pas nécessairement la même que la longueur de l’intervalle lui-même, car cette fonction recode de manière transparente le jeu de caractères d’entrée en UTF-16.
Cette fonction n’allouera de la mémoire que si le nombre d’éléments de la plage, ou, pour une entrée non encodée en UTF-16, la taille maximale possible de la chaîne résultante, dépasse la capacité de cette chaîne, ou si cette chaîne est partagée.
Remarque : le comportement est indéfini si l’un des deux arguments est un itérateur pointant vers *this ou si [first, last) n’est pas une plage valide.
Contraintes
Ne participe à la résolution des surcharges que si ` InputIterator ` satisfait aux exigences d’un ` LegacyInputIterator ` et si le ` value_type ` de ` InputIterator ` est l’un des types de caractères suivants :
- QChar
- QLatin1Char
charunsigned charsigned charchar8_tchar16_t- (sur les plateformes, telles que Windows, où il s'agit d'un type 16 bits)
wchar_t char32_t
Cette fonction a été introduite dans Qt 6.6.
[since 6.6] QString &QString::assign(qsizetype n, QChar c)
Remplace le contenu de cette chaîne par n copies de c et renvoie une référence à cette chaîne.
La taille de cette chaîne sera égale à n, qui doit être un nombre non négatif.
Cette fonction n'allouera de la mémoire que si n dépasse la capacité de cette chaîne ou si celle-ci est partagée.
Cette fonction a été introduite dans Qt 6.6.
Voir également fill().
const QChar QString::at(qsizetype position) const
Renvoie le caractère situé à l'position d'index indiquée dans la chaîne.
L'position doit être une position d'index valide dans la chaîne (c'est-à-dire 0 <= position < size()).
Voir également operator[]().
QChar &QString::back()
Renvoie une référence au dernier caractère de la chaîne. Équivalent à ` operator[](size() - 1)`.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Avertissement : l'appel de cette fonction sur une chaîne vide entraîne un comportement indéfini.
Voir également front(), at() et operator[]().
QChar QString::back() const
Renvoie le dernier caractère de la chaîne. Équivalent à ` at(size() - 1)`.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Avertissement : l'appel de cette fonction sur une chaîne vide entraîne un comportement indéfini.
Voir également front(), at() et operator[]().
QString::iterator QString::begin()
Renvoie un itérateur de type STL pointant vers le premier caractère de la chaîne.
Avertissement : l'itérateur renvoyé est invalidé en cas de détachement ou lorsque la fonction « QString » est modifiée.
Voir également ` constBegin()` et ` end()`.
QString::const_iterator QString::begin() const
Cette fonction surcharge la méthode ` QString::begin()`.
qsizetype QString::capacity() const
Renvoie le nombre maximal de caractères pouvant être stockés dans la chaîne sans nécessiter de réallocation.
Cette fonction a pour seul objectif de permettre un réglage fin de l'utilisation de la mémoire par QString. En général, vous n'aurez que très rarement besoin d'appeler cette fonction. Si vous souhaitez connaître le nombre de caractères contenus dans la chaîne, appelez size().
Remarque : une chaîne allouée de manière statique indiquera une capacité de 0, même si elle n’est pas vide.
Remarque : la positionde l'espace libre dans le bloc de mémoire alloué n’est pas définie. En d’autres termes, il ne faut pas supposer que la mémoire libre se trouve toujours après les éléments initialisés.
Voir également ` reserve()` et ` squeeze()`.
QString::const_iterator QString::cbegin() const
Renvoie un itérateur de type STL constant pointant vers le premier caractère de la chaîne.
Avertissement : l'itérateur renvoyé est invalidé en cas de détachement ou lorsque l'QString est modifiée.
Voir également ` begin()` et ` cend()`.
QString::const_iterator QString::cend() const
Renvoie un itérateur de type STL constant pointant juste après le dernier caractère de la chaîne.
Avertissement : l'itérateur renvoyé est invalidé en cas de détachement ou lorsque l'QString est modifiée.
Voir également ` cbegin()` et ` end()`.
void QString::chop(qsizetype n)
Supprime les caractères n à la fin de la chaîne.
Si n est supérieur ou égal à size(), le résultat est une chaîne vide ; si n est négatif, cela revient à passer zéro.
Exemple :
QString str("LOGOUT\r\n");
str.chop(2);
// str == "LOGOUT"Si vous souhaitez supprimer des caractères au début de la chaîne, utilisez plutôt la fonction remove().
Voir également truncate(), resize(), remove() et QStringView::chop().
Renvoie une chaîne contenant les caractères situés le plus à gauche de cette chaîne, selon la formule suivante : size() - len.
Remarque : le comportement est indéfini si len est négatif ou supérieur à size().
Voir également endsWith(), first(), last(), sliced(), chop(), truncate() et slice().
void QString::clear()
Efface le contenu de la chaîne et la met à null.
Voir aussi resize() et isNull().
[static noexcept] int QString::compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Compare la chaîne « s1 » avec la chaîne « s2 » et renvoie un entier négatif si « s1 » est inférieur à « s2 », un entier positif s'il est supérieur à « s2 », et zéro si les deux chaînes sont égales.
Si cs est défini sur Qt::CaseSensitive (valeur par défaut), la comparaison tient compte de la casse ; dans le cas contraire, elle ne tient pas compte de la casse.
La comparaison sensible à la casse repose exclusivement sur les valeurs Unicode numériques des caractères et est très rapide, mais elle ne correspond pas à ce à quoi s’attendrait un utilisateur. Pensez au tri de chaînes visibles par l’utilisateur avec localeAwareCompare().
int x = QString::compare("aUtO", "AuTo", Qt::CaseInsensitive); // x == 0
int y = QString::compare("auto", "Car", Qt::CaseSensitive); // y > 0
int z = QString::compare("auto", "Car", Qt::CaseInsensitive); // z < 0Remarque : cette fonction traite les chaînes nulles de la même manière que les chaînes vides ; pour plus de détails, voir Distinction Between Null and Empty Strings.
Voir également operator==(), operator<(), operator>() et Comparing Strings.
[noexcept] int QString::compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Effectue une comparaison entre cette valeur et ch, en utilisant le paramètre de sensibilité à la casse cs.
Cette fonction surcharge la méthode QString::compare().
[noexcept] int QString::compare(QLatin1StringView other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Équivalent à `compare(*this, other, cs)`.
Cette fonction surcharge la méthode QString::compare().
[noexcept] int QString::compare(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Effectue une comparaison entre cette valeur et s, en utilisant le paramètre de sensibilité à la casse cs.
Cette fonction surcharge la méthode QString::compare().
[noexcept] int QString::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Compare lexicalement cette chaîne avec la chaîne other et renvoie un entier négatif si cette chaîne est inférieure à other, un entier positif si elle est supérieure à other, et zéro si elles sont égales.
Equivalent à compare(*this, other, cs).
Cette fonction surcharge la méthode QString::compare().
[static noexcept] int QString::compare(QLatin1StringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Effectue une comparaison entre s1 et s2, en utilisant le paramètre de sensibilité à la casse cs.
Cette fonction surcharge la méthode QString::compare().
[static noexcept] int QString::compare(QStringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Cette fonction surcharge la méthode ` QString::compare()`.
[static noexcept] int QString::compare(const QString &s1, QLatin1StringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Effectue une comparaison entre s1 et s2, en utilisant le paramètre de sensibilité à la casse cs.
Cette fonction surcharge la méthode QString::compare().
[static noexcept] int QString::compare(const QString &s1, QStringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Cette fonction surcharge la méthode ` QString::compare()`.
QString::const_iterator QString::constBegin() const
Renvoie un itérateur constant de type STL pointant vers le premier caractère de la chaîne.
Avertissement : l'itérateur renvoyé est invalidé en cas de détachement ou lorsque l'QString est modifiée.
Voir également ` begin()` et ` constEnd()`.
const QChar *QString::constData() const
Renvoie un pointeur vers les données stockées dans ` QString`. Ce pointeur permet d'accéder aux caractères qui composent la chaîne.
Notez que le pointeur ne reste valide que tant que la chaîne n'est pas modifiée.
Remarque : la chaîne renvoyée peut ne pas être terminée par «\0 ». Utilisez size() pour déterminer la longueur du tableau.
Voir également data(), operator[]() et fromRawData().
QString::const_iterator QString::constEnd() const
Renvoie un itérateur const de type STL pointant juste après le dernier caractère de la chaîne.
Avertissement : l'itérateur renvoyé est invalidé en cas de détachement ou lorsque l'QString est modifiée.
Voir également ` constBegin()` et ` end()`.
bool QString::contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
Renvoie « true » si l'expression régulière « re » correspond à un endroit quelconque de cette chaîne ; sinon, renvoie « false ».
Si la correspondance aboutit et que ` rmatch ` n’est pas ` nullptr`, elle écrit également les résultats de la correspondance dans l’objet ` QRegularExpressionMatch ` pointé par ` rmatch`.
Voir également QRegularExpression::match().
bool QString::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie « true » si cette chaîne contient au moins une occurrence de la chaîne « str » ; sinon, renvoie « false ».
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Exemple :
QString str = "Peter Pan";
str.contains("peter", Qt::CaseInsensitive); // returns trueVoir aussi indexOf() et count().
bool QString::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie « true » si cette chaîne contient au moins une occurrence du caractère « ch » ; sinon, renvoie « false ».
Cette fonction surcharge la méthode QString::contains().
bool QString::contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie « true » si cette chaîne contient une occurrence de la chaîne « latin-1 » str; sinon, renvoie « false ».
Cette fonction surcharge la méthode QString::contains().
[noexcept] bool QString::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie « true » si cette chaîne contient au moins une occurrence de la chaîne « view str » ; sinon, renvoie « false ».
Si cs est Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Cette fonction surcharge QString::contains().
Voir également indexOf() et count().
qsizetype QString::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie le nombre d'occurrences (pouvant se chevaucher) de la chaîne « str » dans cette chaîne.
Si cs est défini sur Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Voir également contains() et indexOf().
qsizetype QString::count(const QRegularExpression &re) const
Renvoie le nombre d'occurrences de l'expression régulière re dans la chaîne.
Pour des raisons historiques, cette fonction compte les correspondances qui se chevauchent ; ainsi, dans l'exemple ci-dessous, on dénombre quatre occurrences de « ana » ou « ama » :
QString str = "banana and panama";
str.count(QRegularExpression("a[nm]a")); // returns 4Ce comportement diffère d'une simple itération sur les correspondances de la chaîne à l'aide de ` QRegularExpressionMatchIterator`.
Cette fonction surcharge la fonction ` QString::count()`.
Voir également ` QRegularExpression::globalMatch()`.
qsizetype QString::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie le nombre d'occurrences du caractère ch dans la chaîne.
Si cs est défini sur Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Cette fonction surcharge la fonction QString::count().
Voir également contains() et indexOf().
[since 6.0] qsizetype QString::count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie le nombre d'occurrences (pouvant se chevaucher) de la chaîne « view str » dans cette chaîne.
Si cs est Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Cette fonction surcharge la méthode QString::count().
Cette fonction a été introduite dans Qt 6.0.
Voir également contains() et indexOf().
QString::const_reverse_iterator QString::crbegin() const
Renvoie un itérateur inversé de type STL (const) pointant vers le premier caractère de la chaîne, dans l'ordre inverse.
Avertissement : l’itérateur renvoyé est invalidé en cas de détachement ou lorsque l’ QString est modifiée.
Voir également begin(), rbegin() et rend().
QString::const_reverse_iterator QString::crend() const
Renvoie un itérateur inversé de type STL (const) pointant juste après le dernier caractère de la chaîne, dans l'ordre inverse.
Avertissement : l’itérateur renvoyé est invalidé en cas de détachement ou lorsque la QString est modifiée.
Voir également ` end()`, ` rend()` et ` rbegin()`.
QChar *QString::data()
Renvoie un pointeur vers les données stockées dans ` QString`. Ce pointeur permet d'accéder aux caractères qui composent la chaîne et de les modifier.
Contrairement aux fonctions ` constData()` et ` unicode()`, les données renvoyées sont toujours terminées par «\0 ».
Exemple :
QString str = "Hello world";
QChar*data = str.data();
while (!data->isNull()) {
qDebug() << data->unicode();
++data;
}Notez que le pointeur ne reste valide que tant que la chaîne n'est pas modifiée par d'autres moyens. Pour un accès en lecture seule, la fonction ` constData()` est plus rapide car elle ne provoque jamais de copie profonde.
Voir également constData() et operator[]().
const QChar *QString::data() const
Remarque : la chaîne renvoyée peut ne pas être terminée par «\0 ». Utilisez la fonction size() pour déterminer la longueur du tableau.
Il s'agit d'une fonction surchargée.
Voir également fromRawData().
void QString::detach()
Garantit que les données de cette chaîne ne sont plus partagées avec d'autres instances.
QString::iterator QString::end()
Renvoie un itérateur de type STL pointant juste après le dernier caractère de la chaîne.
Avertissement : l’itérateur renvoyé est invalidé en cas de détachement ou lorsque la variable ` QString ` est modifiée.
Voir aussi ` begin()` et ` constEnd()`.
QString::const_iterator QString::end() const
Cette fonction surcharge la méthode ` QString::end()`.
bool QString::endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie « true » si la chaîne se termine par « s » ; sinon, renvoie « false ».
Si cs vaut Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
QString str = "Bananas";
str.endsWith("anas"); // returns true
str.endsWith("pple"); // returns falseVoir également startsWith().
bool QString::endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie « true » si la chaîne se termine par « c » ; sinon, renvoie « false ».
Cette fonction surcharge la méthode ` QString::endsWith()`.
bool QString::endsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Cette fonction surcharge la fonction ` QString::endsWith()`.
[noexcept] bool QString::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie « true » si la chaîne se termine par la chaîne « view str » ; sinon, renvoie « false ».
Si cs vaut Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Cette fonction surcharge la fonction QString::endsWith().
Voir également startsWith().
[since 6.1] QString::iterator QString::erase(QString::const_iterator first, QString::const_iterator last)
Supprime de la chaîne les caractères compris dans l'intervalle semi-ouvert [ first, last ). Renvoie un itérateur pointant vers le caractère situé immédiatement après le dernier caractère supprimé (c'est-à-dire le caractère référencé par last avant la suppression).
Cette fonction a été introduite dans Qt 6.1.
[since 6.5] QString::iterator QString::erase(QString::const_iterator it)
Supprime de la chaîne le caractère indiqué par ` it `. Renvoie un itérateur pointant vers le caractère situé immédiatement après celui qui a été supprimé.
QString c = "abcdefg";
auto it = c.erase(c.cbegin()); // c is now "bcdefg"; "it" points to "b"Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.5.
QString &QString::fill(QChar ch, qsizetype size = -1)
Remplace chaque caractère de la chaîne par le caractère ch. Si size est différent de -1 (valeur par défaut), la chaîne est préalablement redimensionnée à size.
Exemple :
QString str = "Berlin";
str.fill('z');
// str == "zzzzzz"
str.fill('A', 2);
// str == "AA"Voir aussi resize().
[since 6.0] QString QString::first(qsizetype n) &&
[since 6.0] QString QString::first(qsizetype n) const &
Renvoie une chaîne contenant les x premiers caractères de cette chaîne ( n ), c’est-à-dire depuis le début de cette chaîne jusqu’à l’élément situé à l’index n, non compris.
Remarque : le comportement est indéfini lorsque n < 0 ou n > size().
Ces fonctions ont été introduites dans Qt 6.0.
Voir également last(), sliced(), startsWith(), chopped(), chop(), truncate() et slice().
[static] QString QString::fromCFString(CFStringRef string)
Crée un nouvel objet ` QString ` contenant une copie de la chaîne `CFString` de type ` string `.
Remarque : cette fonction n'est disponible que sur macOS et iOS.
[static, since 6.6] QString QString::fromEcmaString(emscripten::val jsString)
Convertit la chaîne ECMAScript jsString en QString. Le comportement est indéfini si le paramètre fourni n'est pas une chaîne.
Cette fonction a été introduite dans Qt 6.6.
Voir également toEcmaString().
[static] QString QString::fromLatin1(const char *str, qsizetype size)
Renvoie un objet ` QString ` initialisé avec les ` size ` premiers caractères de la chaîne Latin-1 ` str`.
Si size est égal à -1, c'est strlen(str) qui est utilisé à la place.
Voir également toLatin1(), fromUtf8() et fromLocal8Bit().
[static, since 6.0] QString QString::fromLatin1(QByteArrayView str)
Renvoie un objet ` QString ` initialisé avec la chaîne Latin-1 « str ».
Remarque : tout octet nul («\0 ») présent dans le tableau d’octets sera inclus dans cette chaîne, converti en caractères nuls Unicode (U+0000).
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.0.
[static] QString QString::fromLatin1(const QByteArray &str)
Renvoie un objet ` QString ` initialisé avec la chaîne Latin-1 « str ».
Remarque : tout octet nul («\0 ») présent dans le tableau d’octets sera inclus dans cette chaîne, converti en caractères nuls Unicode (U+0000). Ce comportement diffère de celui de Qt 5.x.
Il s'agit d'une fonction surchargée.
[static] QString QString::fromLocal8Bit(const char *str, qsizetype size)
Renvoie un objet ` QString ` initialisé avec les ` size ` premiers caractères de la chaîne de caractères 8 bits ` str`.
Si ` size ` est ` -1`, c'est ` strlen(str) ` qui est utilisé à la place.
Sur les systèmes Unix, cela équivaut à fromUtf8(). Notez que sur les systèmes Apple, cette fonction ne tient pas compte de NSString.defaultCStringEncoding ni de CFStringGetSystemEncoding(), car ces fonctions renvoient généralement l’encodage hérité « Western (Mac OS Roman) », qui ne doit pas être utilisé sur les systèmes d’exploitation Apple modernes. Sous Windows, c’est la page de codes actuelle du système qui est utilisée.
Voir également ` toLocal8Bit()`, ` fromLatin1()` et ` fromUtf8()`.
[static, since 6.0] QString QString::fromLocal8Bit(QByteArrayView str)
Renvoie un objet ` QString ` initialisé avec la chaîne de caractères 8 bits ` str`.
Sur les systèmes Unix, cela équivaut à fromUtf8(). Notez que sur les systèmes Apple, cette fonction ne tient pas compte de NSString.defaultCStringEncoding ni de CFStringGetSystemEncoding(), car ces fonctions renvoient généralement l’encodage hérité « Western (Mac OS Roman) », qui ne doit pas être utilisé sur les systèmes d’exploitation Apple modernes. Sous Windows, la page de codes actuelle du système est utilisée.
Remarque : tout octet nul («\0 ») présent dans le tableau d'octets sera inclus dans cette chaîne, converti en caractères nuls Unicode (U+0000).
Il s’agit d’une fonction surchargée.
Cette fonction a été introduite dans Qt 6.0.
[static] QString QString::fromLocal8Bit(const QByteArray &str)
Renvoie un objet ` QString ` initialisé avec la chaîne de caractères 8 bits « str ».
Sur les systèmes Unix, cela équivaut à ` fromUtf8()`. Notez que sur les systèmes Apple, cette fonction ne tient pas compte de `NSString.defaultCStringEncoding ` ni de `CFStringGetSystemEncoding()`, car ces fonctions renvoient généralement l’encodage hérité « Western (Mac OS Roman) », qui ne doit pas être utilisé sur les systèmes d’exploitation Apple modernes. Sous Windows, la page de codes actuelle du système est utilisée.
Remarque : tout octet nul («\0 ») présent dans le tableau d’octets sera inclus dans cette chaîne, converti en caractères nuls Unicode (U+0000). Ce comportement diffère de celui de Qt 5.x.
Il s'agit d'une fonction surchargée.
[static] QString QString::fromNSString(const NSString *string)
Crée un nouvel objet ` QString ` contenant une copie de la chaîne ` string ` de type `NSString`.
Remarque : cette fonction n'est disponible que sur macOS et iOS.
[static, since 6.10] QString QString::fromRawData(const char16_t *unicode, qsizetype size)
Crée un objet ` QString ` utilisant les ` size ` premiers caractères Unicode du tableau ` unicode`. Les données contenues dans ` unicode ` ne sont pas copiées. L'appelant doit pouvoir garantir que ` unicode ` ne sera ni supprimé ni modifié tant que ` QString ` (ou une copie non modifiée de celui-ci) existe.
Toute tentative de modification de QString ou de ses copies entraînera la création d’une copie profonde des données, garantissant ainsi que les données brutes ne soient pas modifiées.
Voici un exemple illustrant comment utiliser une chaîne « QRegularExpression » sur des données brutes en mémoire sans avoir à copier ces données dans une chaîne « QString » :
QRegularExpression pattern("\u00A4");
static const char16_t unicode[] = {
0x005A, 0x007F, 0x00A4, 0x0060,
0x1009, 0x0020, 0x0020};
QString str = QString::fromRawData(unicode, std::size(unicode));
if (str.contains(pattern)) {
// ...
}Avertissement : une chaîne créée avec `fromRawData()` n’ est pas terminée par «\0 », sauf si les données brutes contiennent un caractère «\0 » à la position size. Cela signifie que ` unicode()` ne renverra pas une chaîne terminée par «\0 » (contrairement à `utf16()`, qui le fait, au prix d’une copie des données brutes).
Cette fonction a été introduite dans Qt 6.10.
Voir également fromUtf16(), setRawData(), data(), constData(), nullTerminate() et nullTerminated().
[static] QString QString::fromRawData(const QChar *unicode, qsizetype size)
Il s'agit d'une fonction surchargée.
[static] QString QString::fromStdString(const std::string &str)
Renvoie une copie de la chaîne « str ». La chaîne fournie est supposée être encodée en UTF-8 et est convertie en « QString » à l’aide de la fonction fromUtf8().
Voir également fromLatin1(), fromLocal8Bit(), fromUtf8() et QByteArray::fromStdString().
[static] QString QString::fromStdU16String(const std::u16string &str)
Renvoie une copie de la chaîne « str ». La chaîne fournie est supposée être encodée en UTF-16 et est convertie en « QString » à l'aide de la fonction fromUtf16().
Voir également fromUtf16(), fromStdWString() et fromStdU32String().
[static] QString QString::fromStdU32String(const std::u32string &str)
Renvoie une copie de la chaîne « str ». La chaîne fournie est supposée être encodée en UTF-32 et est convertie en « QString » à l'aide de la fonction fromUcs4().
Voir également fromUcs4(), fromStdWString() et fromStdU16String().
[static] QString QString::fromStdWString(const std::wstring &str)
Renvoie une copie de la chaîne « str ». La chaîne fournie est supposée être encodée en utf16 si la taille du type `wchar_t` est de 2 octets (par exemple sous Windows) et en ucs4 si la taille du type `wchar_t` est de 4 octets (sur la plupart des systèmes Unix).
Voir également fromUtf16(), fromLatin1(), fromLocal8Bit(), fromUtf8(), fromUcs4(), fromStdU16String() et fromStdU32String().
[static] QString QString::fromUcs4(const char32_t *unicode, qsizetype size = -1)
Renvoie une valeur de type ` QString ` initialisée avec les ` size ` premiers caractères de la chaîne Unicode ` unicode ` (encodée en UTF-32).
Si size vaut -1 (valeur par défaut), unicode doit se terminer par «\0 ».
Voir également toUcs4(), fromUtf16(), utf16(), setUtf16(), fromWCharArray() et fromStdU32String().
[static] QString QString::fromUtf8(const char *str, qsizetype size)
Renvoie un objet ` QString ` initialisé avec les ` size ` premiers octets de la chaîne UTF-8 ` str`.
Si size est égal à -1, c’est strlen(str) qui est utilisé à la place.
UTF-8 est un codec Unicode et peut représenter tous les caractères d’une chaîne Unicode telle que QString. Cependant, des séquences non valides sont possibles avec UTF-8 et, si de telles séquences sont détectées, elles seront remplacées par un ou plusieurs « caractères de remplacement », ou supprimées. Il s’agit notamment des séquences non Unicode, des éléments non alphabétiques, des séquences trop longues ou des points de code de substitution encodés en UTF-8.
Cette fonction peut être utilisée pour traiter les données entrantes de manière incrémentielle, à condition que tous les caractères UTF-8 soient correctement terminés au sein des données entrantes. Tout caractère non terminé à la fin de la chaîne sera remplacé ou supprimé. Pour effectuer un décodage avec état, veuillez utiliser QStringDecoder.
Voir également toUtf8(), fromLatin1() et fromLocal8Bit().
[static, since 6.0] QString QString::fromUtf8(QByteArrayView str)
Renvoie un objet ` QString ` initialisé avec la chaîne UTF-8 « str ».
Remarque : tout octet nul («\0 ») présent dans le tableau d’octets sera inclus dans cette chaîne, converti en caractères nuls Unicode (U+0000).
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.0.
[static] QString QString::fromUtf8(const QByteArray &str)
Renvoie un objet ` QString ` initialisé avec la chaîne UTF-8 ` str`.
Remarque : tout octet nul («\0 ») présent dans le tableau d'octets sera inclus dans cette chaîne, converti en caractères nuls Unicode (U+0000). Ce comportement diffère de celui de Qt 5.x.
Il s'agit d'une fonction surchargée.
[static, since 6.1] QString QString::fromUtf8(const char8_t *str)
Cette surcharge n'est disponible que lors de la compilation en mode C++20.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.1.
[static, since 6.0] QString QString::fromUtf8(const char8_t *str, qsizetype size)
Cette surcharge n'est disponible que lors de la compilation en mode C++20.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.0.
[static] QString QString::fromUtf16(const char16_t *unicode, qsizetype size = -1)
Renvoie un objet ` QString ` initialisé avec les ` size ` premiers caractères de la chaîne Unicode ` unicode ` (codée en ISO-10646-UTF-16).
Si size est égal à -1 (valeur par défaut), unicode doit se terminer par «\0 ».
Cette fonction vérifie la présence d’un indicateur d’ordre des octets (BOM). S’il est absent, l’ordre des octets de l’hôte est supposé.
Cette fonction est lente par rapport aux autres conversions Unicode. Utilisez QString(const QChar *, qsizetype) ou QString(const QChar *) si possible.
QString Effectue une copie profonde des données Unicode.
Voir également utf16(), setUtf16() et fromStdU16String().
[static] QString QString::fromWCharArray(const wchar_t *string, qsizetype size = -1)
Lit les ` size ` unités de code du tableau ` wchar_t ` dont le début est pointé par ` string `, les convertit en Unicode et renvoie le résultat sous la forme d’un ` QString`. L’encodage utilisé par ` wchar_t ` est supposé être UTF-32 si la taille du type est de quatre octets, ou UTF-16 si sa taille est de deux octets.
Si size vaut -1 (valeur par défaut), l’ string doit être terminée par «\0 ».
Voir également fromUtf16(), fromLatin1(), fromLocal8Bit(), fromUtf8(), fromUcs4() et fromStdWString().
QChar &QString::front()
Renvoie une référence au premier caractère de la chaîne. Equivalent à ` operator[](0)`.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Avertissement : l'appel de cette fonction sur une chaîne vide entraîne un comportement indéfini.
Voir également back(), at() et operator[]().
QChar QString::front() const
Renvoie le premier caractère de la chaîne. Équivalent à ` at(0)`.
Cette fonction est fournie à des fins de compatibilité avec la STL.
Avertissement : l'appel de cette fonction sur une chaîne vide entraîne un comportement indéfini.
Voir également back(), at() et operator[]().
qsizetype QString::indexOf(QLatin1StringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l'index de la première occurrence de la chaîne « Latin-1 » identifiée par « str » dans cette chaîne, en effectuant la recherche vers l'avant à partir de l'index « from ». Renvoie -1 si « str » n'est pas trouvé.
Si cs est Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Exemple :
QString x = "sticky question";
QString y = "sti";
x.indexOf(y); // returns 0
x.indexOf(y, 1); // returns 10
x.indexOf(y, 10); // returns 10
x.indexOf(y, 11); // returns -1Si from vaut -1, la recherche commence au dernier caractère ; si elle vaut -2, elle commence à l’avant-dernier caractère, et ainsi de suite.
Voir également lastIndexOf(), contains() et count().
qsizetype QString::indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const
Renvoie l'index de la première occurrence de l'expression régulière re dans la chaîne, en effectuant une recherche vers l'avant à partir de l'index from. Renvoie -1 si re n'a été trouvé nulle part.
Si la correspondance est réussie et que rmatch n’est pas nullptr, elle écrit également les résultats de la correspondance dans l’objet QRegularExpressionMatch pointé par rmatch.
Exemple :
QString str = "the minimum";
str.indexOf(QRegularExpression("m[aeiou]"), 0); // returns 4
QRegularExpressionMatch match;
str.indexOf(QRegularExpression("m[aeiou]"), 0, &match); // returns 4
// match.captured() == miqsizetype QString::indexOf(const QString &str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l'index de la première occurrence de la chaîne « str » dans cette chaîne, en effectuant la recherche vers l'avant à partir de l'index « from ». Renvoie -1 si « str » n'est pas trouvé.
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Exemple :
QString x = "sticky question";
QString y = "sti";
x.indexOf(y); // returns 0
x.indexOf(y, 1); // returns 10
x.indexOf(y, 10); // returns 10
x.indexOf(y, 11); // returns -1Si from est égal à -1, la recherche commence au dernier caractère ; s’il est égal à -2, elle commence à l’avant-dernier caractère, et ainsi de suite.
Voir également lastIndexOf(), contains() et count().
qsizetype QString::indexOf(QChar ch, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l'index de la première occurrence du caractère ch dans cette chaîne, en effectuant une recherche vers l'avant à partir de l'index from. Renvoie -1 si ch n'est pas trouvé.
Cette fonction surcharge la méthode QString::indexOf().
[noexcept] qsizetype QString::indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l’index de la première occurrence de la chaîne « view str » dans cette chaîne, en effectuant la recherche vers l’avant à partir de l’index « from ». Renvoie -1 si « str » n’est pas trouvé.
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Si from vaut -1, la recherche commence au dernier caractère ; si elle vaut -2, elle commence à l’avant-dernier caractère, et ainsi de suite.
Cette fonction surcharge la fonction QString::indexOf().
Voir également QStringView::indexOf(), lastIndexOf(), contains() et count().
QString &QString::insert(qsizetype position, const QString &str)
Insère la chaîne « str » à l'index spécifié position et renvoie une référence à cette chaîne.
Exemple :
Cette chaîne s'allonge pour accueillir l'insertion. Si position se trouve au-delà de la fin de la chaîne, des caractères d'espacement sont ajoutés à la chaîne pour atteindre cet position, suivi de str.
Voir également append(), prepend(), replace() et remove().
QString &QString::insert(qsizetype position, QChar ch)
Insère ch à l'index spécifié position dans la chaîne.
La chaîne s'allonge pour accueillir l'insertion. Si position se trouve au-delà de la fin de la chaîne, des espaces sont ajoutés à la chaîne pour atteindre cet position, suivi de ch.
Cette fonction surcharge la méthode ` QString::insert()`.
QString &QString::insert(qsizetype position, QLatin1StringView str)
Insère la chaîne Latin-1 affichée par str à l'index indiqué position.
Cette chaîne s'allonge pour accueillir l'insertion. Si position se trouve au-delà de la fin de la chaîne, des caractères d'espacement sont ajoutés à la chaîne pour atteindre cet position, suivi de str.
Cette fonction surcharge la méthode QString::insert().
[since 6.0] QString &QString::insert(qsizetype position, QStringView str)
Insère la vue de chaîne str à l'index spécifié position et renvoie une référence à cette chaîne.
La chaîne s'allonge pour accueillir l'insertion. Si position se trouve au-delà de la fin de la chaîne, des caractères d'espacement sont ajoutés à la chaîne pour atteindre cet position, suivis de str.
Cette fonction surcharge la méthode ` QString::insert()`.
Cette fonction a été introduite dans Qt 6.0.
[since 6.5] QString &QString::insert(qsizetype position, QUtf8StringView str)
Insère la chaîne UTF-8 « str » à l'index spécifié « position ».
Remarque : l’insertion de données de chaîne codées en UTF-8 à largeur variable est, d’un point de vue conceptuel, plus lente que l’insertion de données de chaîne à largeur fixe telles que l’UTF-16 (QStringView) ou le Latin-1 (QLatin1StringView) et doit donc être utilisée avec parcimonie.
Cette chaîne s'allonge pour s'adapter à l'insertion. Si position se trouve au-delà de la fin de la chaîne, des caractères d'espacement sont ajoutés à la chaîne pour atteindre cette position, suivis de str.
Cette fonction surcharge la méthode ` QString::insert()`.
Cette fonction a été introduite dans Qt 6.5.
QString &QString::insert(qsizetype position, const QByteArray &str)
Interpréte le contenu de ` str ` au format UTF-8, insère la chaîne Unicode qu’il encode à l’index spécifié ` position ` et renvoie une référence à cette chaîne.
Cette chaîne s'allonge pour accueillir l'insertion. Si position se trouve au-delà de la fin de la chaîne, des caractères d'espacement sont ajoutés à la chaîne pour atteindre cet position, suivis de str.
Cette fonction n’est pas disponible lorsque ` QT_NO_CAST_FROM_ASCII ` est défini.
Cette fonction surcharge la fonction QString::insert().
QString &QString::insert(qsizetype position, const char *str)
Insère la chaîne C « str » à l'index spécifié « position » et renvoie une référence à cette chaîne.
Cette chaîne s'allonge pour accueillir l'insertion. Si position se trouve au-delà de la fin de la chaîne, des caractères d'espacement sont ajoutés à la chaîne pour atteindre cet position, suivis de str.
Cette fonction n’est pas disponible lorsque ` QT_NO_CAST_FROM_ASCII ` est défini.
Cette fonction surcharge la fonction QString::insert().
QString &QString::insert(qsizetype position, const QChar *unicode, qsizetype size)
Insère les x size premiers caractères du tableau QChar unicode à l'index position spécifié dans la chaîne.
La chaîne s'allonge pour accueillir l'insertion. Si position se trouve au-delà de la fin de la chaîne, des espaces sont ajoutés à la chaîne pour atteindre cette position position, suivis des size caractères du tableau QChar unicode .
Cette fonction surcharge la méthode ` QString::insert()`.
[constexpr noexcept] bool QString::isEmpty() const
Renvoie « true » si la chaîne ne contient aucun caractère ; sinon, renvoie « false ».
Exemple :
QString().isEmpty(); // returns true
QString("").isEmpty(); // returns true
QString("x").isEmpty(); // returns false
QString("abc").isEmpty(); // returns falseVoir aussi size().
bool QString::isLower() const
Renvoie « true » si la chaîne est en minuscules, c'est-à-dire si elle est identique à son résultat après application de la fonction « toLower() ».
Notez que cela ne signifie pas que la chaîne ne contient pas de lettres majuscules (certaines lettres majuscules n'ont pas de forme minuscule correspondante ; elles restent inchangées par la fonction toLower()). Pour plus d’informations, reportez-vous à la norme Unicode, section 3.13.
Voir également QChar::toLower() et isUpper().
[constexpr] bool QString::isNull() const
Renvoie « true » si cette chaîne est nulle ; sinon, renvoie « false ».
Exemple :
QString().isNull(); // returns true
QString("").isNull(); // returns false
QString("abc").isNull(); // returns falseQt fait la distinction entre les chaînes nulles et les chaînes vides pour des raisons historiques. Pour la plupart des applications, ce qui importe, c'est de savoir si une chaîne contient ou non des données, ce qui peut être déterminé à l'aide de la fonction isEmpty().
Voir aussi isEmpty().
bool QString::isRightToLeft() const
Renvoie « true » si la chaîne se lit de droite à gauche.
Voir aussi QStringView::isRightToLeft().
bool QString::isUpper() const
Renvoie « true » si la chaîne est en majuscules, c'est-à-dire si elle est identique à son résultat après application de la fonction « toUpper() ».
Notez que cela ne signifie pas que la chaîne ne contient pas de lettres minuscules (certaines lettres minuscules n’ont pas de forme majuscule correspondante ; elles restent inchangées par la fonction toUpper()). Pour plus d’informations, reportez-vous à la norme Unicode, section 3.13.
Voir également QChar::toUpper() et isLower().
[noexcept] bool QString::isValidUtf16() const
Renvoie « true » si la chaîne contient des données encodées en UTF-16 valides, ou « false » dans le cas contraire.
Notez que cette fonction n'effectue aucune validation particulière des données ; elle vérifie simplement si celles-ci peuvent être décodées correctement à partir du format UTF-16. Les données sont supposées être dans l'ordre des octets de l'hôte ; la présence d'un BOM n'a aucune signification.
Voir également QStringView::isValidUtf16().
[since 6.0] QString QString::last(qsizetype n) &&
[since 6.0] QString QString::last(qsizetype n) const &
Renvoie la chaîne contenant les x derniers caractères de cette chaîne, en respectant la n.
Remarque : le comportement est indéfini lorsque ` n ` < 0 ou lorsque ` n ` > ` size`().
Ces fonctions ont été introduites dans Qt 6.0.
Voir également first(), sliced(), endsWith(), chopped(), chop(), truncate() et slice().
qsizetype QString::lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const
Renvoie l'index de la dernière occurrence de l'expression régulière re dans la chaîne, qui commence avant l'index from.
Si from vaut -1, la recherche commence au dernier caractère ; si elle vaut -2, elle commence à l'avant-dernier caractère, et ainsi de suite.
Renvoie -1 si re n’a donné aucun résultat.
Si la recherche aboutit et que rmatch n’est pas nullptr, elle écrit également les résultats de la recherche dans l’objet QRegularExpressionMatch pointé par rmatch.
Exemple :
QString str = "the minimum";
str.lastIndexOf(QRegularExpression("m[aeiou]")); // returns 8
QRegularExpressionMatch match;
str.lastIndexOf(QRegularExpression("m[aeiou]"), -1, &match); // returns 8
// match.captured() == muRemarque : en raison du fonctionnement de l’algorithme de correspondance des expressions régulières, cette fonction effectuera en réalité des correspondances répétées depuis le début de la chaîne jusqu’à ce que la position ` from ` soit atteinte.
Remarque : lors de la recherche d’une expression régulière re pouvant correspondre à 0 caractère, la correspondance à la fin des données est exclue de la recherche par une valeur négative de from, même si -1 est généralement considéré comme effectuant la recherche à partir de la fin de la chaîne : la correspondance à la fin se trouve après le dernier caractère, elle est donc exclue. Pour inclure une telle correspondance vide finale, il faut soit attribuer une valeur positive à from, soit omettre complètement le paramètre from.
qsizetype QString::lastIndexOf(const QString &str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l'indice de la dernière occurrence de la chaîne « str » dans cette chaîne, en effectuant la recherche à rebours à partir de l'indice « from ».
Si from est égal à -1, la recherche commence au dernier caractère ; s’il est égal à -2, elle commence à l’avant-dernier caractère, et ainsi de suite.
Renvoie -1 si « str » n'est pas trouvé.
Si « cs » est « Qt::CaseSensitive » (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Exemple :
QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y); // returns 6
x.lastIndexOf(y, 6); // returns 6
x.lastIndexOf(y, 5); // returns 2
x.lastIndexOf(y, 1); // returns -1Remarque : lors de la recherche d’une chaîne de longueur 0 ( str), la correspondance à la fin des données est exclue de la recherche par une valeur négative de from, même si -1 est généralement considéré comme effectuant la recherche à partir de la fin de la chaîne : la correspondance à la fin se trouve après le dernier caractère, elle est donc exclue. Pour inclure une telle correspondance vide finale, il faut soit attribuer une valeur positive à from, soit omettre complètement le paramètre from.
Voir également indexOf(), contains() et count().
[noexcept, since 6.3] qsizetype QString::lastIndexOf(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Cette fonction surcharge la fonction ` QString::lastIndexOf()`.
Cette fonction a été introduite dans Qt 6.3.
[since 6.2] qsizetype QString::lastIndexOf(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l'index de la dernière occurrence de la chaîne « str » dans cette chaîne. Renvoie -1 si « str » n'est pas trouvé.
Si cs est Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Exemple :
QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y); // returns 6
x.lastIndexOf(y, 6); // returns 6
x.lastIndexOf(y, 5); // returns 2
x.lastIndexOf(y, 1); // returns -1Cette fonction surcharge la méthode QString::lastIndexOf().
Cette fonction a été introduite dans Qt 6.2.
Voir également indexOf(), contains() et count().
[noexcept, since 6.2] qsizetype QString::lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l'index de la dernière occurrence de la chaîne « str » dans cette chaîne. Renvoie -1 si « str » n'est pas trouvé.
Si cs est Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Cette fonction surcharge la méthode QString::lastIndexOf().
Cette fonction a été introduite dans Qt 6.2.
Voir également indexOf(), contains() et count().
[since 6.2] qsizetype QString::lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
Renvoie l'indice de la dernière occurrence de l'expression régulière re dans la chaîne. Renvoie -1 si re n'a été trouvé nulle part.
Si la correspondance est réussie et que rmatch n'est pas nullptr, elle écrit également les résultats de la correspondance dans l'objet QRegularExpressionMatch pointé par rmatch.
Exemple :
QString str = "the minimum";
str.lastIndexOf(QRegularExpression("m[aeiou]")); // returns 8
QRegularExpressionMatch match;
str.lastIndexOf(QRegularExpression("m[aeiou]"), -1, &match); // returns 8
// match.captured() == muRemarque : en raison du fonctionnement de l’algorithme de correspondance des expressions régulières, cette fonction effectuera en réalité des correspondances de manière répétée depuis le début de la chaîne jusqu’à ce que la fin de celle-ci soit atteinte.
Cette fonction surcharge la méthode ` QString::lastIndexOf()`.
Cette fonction a été introduite dans Qt 6.2.
[since 6.2] qsizetype QString::lastIndexOf(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l'indice de la dernière occurrence de la chaîne « str » dans cette chaîne. Renvoie -1 si « str » n'est pas trouvé.
Si cs est Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Exemple :
QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y); // returns 6
x.lastIndexOf(y, 6); // returns 6
x.lastIndexOf(y, 5); // returns 2
x.lastIndexOf(y, 1); // returns -1Cette fonction surcharge QString::lastIndexOf().
Cette fonction a été introduite dans Qt 6.2.
Voir également indexOf(), contains() et count().
qsizetype QString::lastIndexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l'index de la dernière occurrence du caractère ch dans cette chaîne, en effectuant une recherche vers l'arrière à partir de l'index from.
Cette fonction surcharge la méthode QString::lastIndexOf().
qsizetype QString::lastIndexOf(QLatin1StringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l’index de la dernière occurrence de la chaîne Latin-1 identifiée par la fonction ` str ` dans cette chaîne, en effectuant une recherche vers l’arrière à partir de l’index ` from`.
Si from est égal à -1, la recherche commence au dernier caractère ; s’il est égal à -2, elle commence à l’avant-dernier caractère, et ainsi de suite.
Renvoie -1 si str n'est pas trouvé.
Si ` cs ` est ` Qt::CaseSensitive ` (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Exemple :
QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y); // returns 6
x.lastIndexOf(y, 6); // returns 6
x.lastIndexOf(y, 5); // returns 2
x.lastIndexOf(y, 1); // returns -1Remarque : lors de la recherche d’une chaîne de longueur 0 ( str), la correspondance à la fin des données est exclue de la recherche par une valeur négative de from, même si -1 est généralement considéré comme effectuant la recherche à partir de la fin de la chaîne : la correspondance à la fin se trouve après le dernier caractère, elle est donc exclue. Pour inclure une telle correspondance vide finale, il faut soit donner une valeur positive à from, soit omettre complètement le paramètre from.
Cette fonction surcharge la fonction QString::lastIndexOf().
Voir également indexOf(), contains() et count().
[noexcept] qsizetype QString::lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie l'indice de la dernière occurrence de la chaîne « view str » dans cette chaîne, en effectuant une recherche vers l'arrière à partir de l'indice « from ».
Si from est égal à -1, la recherche commence au dernier caractère ; s'il est égal à -2, elle commence à l'avant-dernier caractère, et ainsi de suite.
Renvoie -1 si str n’est pas trouvé.
Si « cs » est « Qt::CaseSensitive » (valeur par défaut), la recherche tient compte de la casse ; dans le cas contraire, elle ne tient pas compte de la casse.
Remarque : lors de la recherche d’une chaîne de longueur 0 ( str), la correspondance à la fin des données est exclue de la recherche par une valeur négative de from, même si -1 est généralement considéré comme effectuant la recherche à partir de la fin de la chaîne : la correspondance à la fin se trouve après le dernier caractère, elle est donc exclue. Pour inclure une telle correspondance vide finale, il faut soit attribuer une valeur positive à from, soit omettre complètement le paramètre from.
Cette fonction surcharge la fonction QString::lastIndexOf().
Voir également indexOf(), contains() et count().
Renvoie une sous-chaîne contenant les n premiers caractères de cette chaîne (c'est-à-dire depuis le début de la chaîne jusqu'à l'élément situé à l'index n, sans l'inclure).
Si vous savez que n ne peut pas être hors limites, utilisez plutôt first() dans votre nouveau code, car cette fonction est plus rapide.
La chaîne entière est renvoyée si n est supérieur ou égal à size(), ou inférieur à zéro.
Voir également first(), last(), startsWith(), chopped(), chop() et truncate().
QString QString::leftJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const
Renvoie une chaîne de taille width contenant cette chaîne complétée par le caractère fill.
Si truncate est false et que la fonction size() de la chaîne de caractères est supérieure à width, alors la chaîne renvoyée est une copie de la chaîne.
Si truncate est true et que la valeur de size() de la chaîne est supérieure à width, tous les caractères de la copie de la chaîne situés après la position width sont supprimés, puis la copie est renvoyée.
QString str = "Pineapple";
str = str.leftJustified(5, '.', true); // str == "Pinea"Voir également rightJustified().
[constexpr noexcept] qsizetype QString::length() const
Renvoie le nombre de caractères contenus dans cette chaîne. Équivalent à ` size()`.
Voir aussi resize().
[static] int QString::localeAwareCompare(const QString &s1, const QString &s2)
Compare s1 à s2 et renvoie un entier inférieur, égal ou supérieur à zéro si s1 est inférieur, égal ou supérieur à s2.
La comparaison est effectuée en fonction des paramètres régionaux et de la plate-forme. Utilisez cette fonction pour présenter à l’utilisateur des listes de chaînes triées.
Voir également compare(), QLocale et Comparing Strings.
[since 6.0] int QString::localeAwareCompare(QStringView other) const
Compare cette chaîne à la chaîne other et renvoie un entier inférieur, égal ou supérieur à zéro si cette chaîne est inférieure, égale ou supérieure à la chaîne other.
La comparaison est effectuée en fonction des paramètres régionaux et de la plate-forme. Utilisez cette fonction pour présenter à l’utilisateur des listes de chaînes triées.
Identique à ` localeAwareCompare(*this, other)`.
Cette fonction surcharge ` QString::localeAwareCompare()`.
Cette fonction a été introduite dans Qt 6.0.
Voir également Comparing Strings.
int QString::localeAwareCompare(const QString &other) const
Compare cette chaîne à la chaîne other et renvoie un entier inférieur, égal ou supérieur à zéro selon que cette chaîne est inférieure, égale ou supérieure à la chaîne other.
La comparaison est effectuée en fonction des paramètres régionaux et de la plate-forme. Utilisez cette fonction pour présenter à l’utilisateur des listes de chaînes triées.
Identique à ` localeAwareCompare(*this, other)`.
Cette fonction surcharge QString::localeAwareCompare().
Voir également Comparing Strings.
[static, since 6.0] int QString::localeAwareCompare(QStringView s1, QStringView s2)
Compare s1 à s2 et renvoie un entier inférieur, égal ou supérieur à zéro si s1 est inférieur, égal ou supérieur à s2.
La comparaison est effectuée en fonction des paramètres régionaux et de la plate-forme. Utilisez cette fonction pour présenter à l'utilisateur des listes de chaînes triées.
Cette fonction surcharge la fonction ` QString::localeAwareCompare()`.
Cette fonction a été introduite dans Qt 6.0.
Voir également Comparing Strings.
[static constexpr noexcept, since 6.8] qsizetype QString::maxSize()
[constexpr noexcept, since 6.8] qsizetype QString::max_size() const
Elle renvoie le nombre maximal d'éléments que la chaîne peut théoriquement contenir. En pratique, ce nombre peut être bien inférieur, car il est limité par la quantité de mémoire disponible sur le système.
Ces fonctions ont été introduites dans Qt 6.8.
QString QString::mid(qsizetype position, qsizetype n = -1) &&
QString QString::mid(qsizetype position, qsizetype n = -1) const &
Renvoie une chaîne contenant les caractères d'n s de cette chaîne, à partir de l'index spécifié position jusqu'à l'élément situé à l'index position + n.
Si vous savez que position et n ne peuvent pas être hors limites, utilisez plutôt sliced() dans votre nouveau code, car cette fonction est plus rapide.
Renvoie une chaîne vide si l'index position dépasse la longueur de la chaîne. S'il y a moins de n caractères disponibles dans la chaîne à partir de l'index position donné, ou si n est égal à -1 (valeur par défaut), la fonction renvoie tous les caractères disponibles à partir de l'index position spécifié.
Voir également first(), last(), sliced(), chopped(), chop(), truncate() et slice().
QString QString::normalized(QString::NormalizationForm mode, QChar::UnicodeVersion version = QChar::Unicode_Unassigned) const
Renvoie la chaîne selon la normalisation Unicode spécifiée mode, conformément à la section version de la norme Unicode.
[since 6.10] QString &QString::nullTerminate()
Si cette chaîne de caractères n'est pas terminée par un caractère nul, cette méthode effectuera une copie profonde des données et les terminera par un caractère nul.
Une chaîne de caractères ( QString ) est terminée par un caractère « \0 » par défaut ; cependant, dans certains cas (par exemple lors de l'utilisation de ` fromRawData()`), la chaîne de caractères ne se termine pas nécessairement par un caractère « », ce qui peut poser problème lors de l'appel de méthodes qui attendent une chaîne terminée par un caractère « ».
Cette fonction a été introduite dans Qt 6.10.
Voir également nullTerminated(), fromRawData() et setRawData().
[since 6.10] QString QString::nullTerminated() &&
[since 6.10] QString QString::nullTerminated() const &
Renvoie une copie de cette chaîne qui se termine toujours par un caractère nul.
Ces fonctions ont été introduites dans Qt 6.10.
Voir également nullTerminate(), fromRawData() et setRawData().
[static] QString QString::number(long n, int base = 10)
Renvoie une chaîne équivalente au nombre n selon la base spécifiée base.
La base est de 10 par défaut et doit être comprise entre 2 et 36. Pour les bases autres que 10, n est traité comme un entier non signé.
Le formatage utilise toujours QLocale::C, c’est-à-dire « English/UnitedStates ». Pour obtenir une représentation sous forme de chaîne localisée d’un nombre, utilisez QLocale::toString() avec les paramètres de localisation appropriés.
long a = 63;
QString s = QString::number(a, 16); // s == "3f"
QString t = QString::number(a, 16).toUpper(); // t == "3F"Voir également setNum().
[static] QString QString::number(double n, char format = 'g', int precision = 6)
Renvoie une chaîne de caractères représentant le nombre à virgule flottante n.
Renvoie une chaîne de caractères représentant n, formatée selon les paramètres spécifiés format et precision.
Pour les formats comportant un exposant, celui-ci affiche son signe et comporte au moins deux chiffres, en étant complété par des zéros à gauche si nécessaire.
Voir également setNum(), QLocale::toString(), QLocale::FloatingPointPrecisionOption et Number formats.
[static] QString QString::number(int n, int base = 10)
Il s'agit d'une fonction surchargée.
[static] QString QString::number(qlonglong n, int base = 10)
Il s'agit d'une fonction surchargée.
[static] QString QString::number(qulonglong n, int base = 10)
Il s'agit d'une fonction surchargée.
[static] QString QString::number(uint n, int base = 10)
Il s'agit d'une fonction surchargée.
[static] QString QString::number(ulong n, int base = 10)
Il s'agit d'une fonction surchargée.
QString &QString::prepend(const QString &str)
Ajoute la chaîne « str » au début de cette chaîne et renvoie une référence à celle-ci.
Cette opération est généralement très rapide (temps constant), car QString préalloue de l'espace supplémentaire au début des données de la chaîne, ce qui lui permet de s'allonger sans avoir à réallouer la chaîne entière à chaque fois.
Exemple :
Voir également ` append()` et ` insert()`.
QString &QString::prepend(QChar ch)
Ajoute le caractère « ch » au début de cette chaîne.
Cette fonction surcharge la méthode QString::prepend().
QString &QString::prepend(QLatin1StringView str)
Ajoute au début de cette chaîne la chaîne au format Latin-1 traitée par la fonction ` str `.
Cette fonction surcharge la méthode QString::prepend().
[since 6.0] QString &QString::prepend(QStringView str)
Ajoute la vue de chaîne « str » au début de cette chaîne et renvoie une référence à cette chaîne.
Cette fonction surcharge la méthode QString::prepend().
Cette fonction a été introduite dans Qt 6.0.
[since 6.5] QString &QString::prepend(QUtf8StringView str)
Ajoute au début de cette chaîne la vue de la chaîne UTF-8 str.
Cette fonction surcharge la méthode ` QString::prepend()`.
Cette fonction a été introduite dans Qt 6.5.
QString &QString::prepend(const QByteArray &ba)
Ajoute le tableau d’octets ba au début de cette chaîne. Le tableau d’octets est converti en Unicode à l’aide de la fonction fromUtf8().
Vous pouvez désactiver cette fonction en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la méthode QString::prepend().
QString &QString::prepend(const char *str)
Ajoute la chaîne « str » au début de cette chaîne. Le pointeur `const char` est converti en Unicode à l'aide de la fonction ` fromUtf8()`.
Vous pouvez désactiver cette fonction en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s'avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l'utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction QString::prepend().
QString &QString::prepend(const QChar *str, qsizetype len)
Ajoute au début de cette chaîne les caractères len issus du tableau QChar str , puis renvoie une référence à cette chaîne.
Cette fonction surcharge la méthode ` QString::prepend()`.
void QString::push_back(const QString &other)
Cette fonction est fournie à des fins de compatibilité avec la STL ; elle ajoute la chaîne other à la fin de cette chaîne. Elle équivaut à append(other).
Voir également append().
void QString::push_back(QChar ch)
Ajoute le caractère ch spécifié à la fin de cette chaîne.
Il s'agit d'une fonction surchargée.
void QString::push_front(const QString &other)
Cette fonction est fournie à des fins de compatibilité avec la STL ; elle ajoute la chaîne « other » au début de cette chaîne. Elle équivaut à ` prepend(other)`.
Voir aussi prepend().
void QString::push_front(QChar ch)
Ajoute le caractère ch au début de cette chaîne.
Il s'agit d'une fonction surchargée.
QString::reverse_iterator QString::rbegin()
Renvoie un itérateur inversé de type STL pointant vers le premier caractère de la chaîne, dans l'ordre inverse.
Avertissement : l’itérateur renvoyé est invalidé en cas de détachement ou lorsque l’ QString est modifiée.
Voir également ` begin()`, ` crbegin()` et ` rend()`.
QString::const_reverse_iterator QString::rbegin() const
Il s'agit d'une fonction surchargée.
QString &QString::remove(const QRegularExpression &re)
Supprime toutes les occurrences de l'expression régulière re dans la chaîne et renvoie une référence à celle-ci. Par exemple :
QString r = "Telephone";
r.remove(QRegularExpression("[aeiou]."));
// r == "The"La suppression d'éléments préserve la capacité de la chaîne et ne réduit pas la quantité de mémoire allouée. Pour réduire la capacité excédentaire et libérer autant de mémoire que possible, appelez ` squeeze()` après la dernière modification de la taille de la chaîne.
Voir également indexOf(), lastIndexOf() et replace().
QString &QString::remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Supprime toutes les occurrences du caractère ch dans cette chaîne et renvoie une référence à cette chaîne.
Si cs est défini sur Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Exemple :
Cela revient au même que ` replace(ch, "", cs)`.
La suppression d’éléments préserve la capacité de la chaîne et ne réduit pas la quantité de mémoire allouée. Pour libérer la capacité excédentaire et libérer autant de mémoire que possible, appelez ` squeeze()` après la dernière modification de la taille de la chaîne.
Voir également replace().
QString &QString::remove(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Supprime toutes les occurrences de la chaîne « str » dans cette chaîne, puis renvoie une référence à cette chaîne.
Si cs est défini sur Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Cette fonction est identique à ` replace(str, "", cs)`.
La suppression d’éléments préserve la capacité de la chaîne et ne réduit pas la quantité de mémoire allouée. Pour libérer la capacité excédentaire et libérer autant de mémoire que possible, appelez ` squeeze()` après la dernière modification de la taille de la chaîne.
Voir également replace().
QString &QString::remove(qsizetype position, qsizetype n)
Supprime les caractères n de la chaîne, à partir de l'index position indiqué, et renvoie une référence à la chaîne.
Si l'index position spécifié se trouve dans la chaîne, mais que position + n dépasse la fin de la chaîne, celle-ci est tronquée à l'index position spécifié.
Si n est <= 0, rien n’est modifié.
QString s = "Montreal";
s.remove(1, 4);
// s == "Meal"La suppression d’éléments préserve la capacité de la chaîne et ne réduit pas la quantité de mémoire allouée. Pour se débarrasser de la capacité excédentaire et libérer autant de mémoire que possible, appelez squeeze() après la dernière modification de la taille de la chaîne.
Voir également insert() et replace().
QString &QString::remove(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Supprime de cette chaîne toutes les occurrences de la chaîne Latin-1 spécifiée, telle qu’interprétée par str, et renvoie une référence à cette chaîne.
Si ` cs ` est défini sur ` Qt::CaseSensitive ` (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Cette fonction est identique à replace(str, "", cs).
La suppression d’éléments préserve la capacité de la chaîne et ne réduit pas la quantité de mémoire allouée. Pour libérer la capacité excédentaire et libérer autant de mémoire que possible, appelez ` squeeze()` après la dernière modification de la taille de la chaîne.
Il s’agit d’une fonction surchargée.
Voir aussi replace().
[since 6.5] QString &QString::removeAt(qsizetype pos)
Supprime le caractère situé à l'index pos. Si pos est hors limites (c'est-à-dire si pos >= size()), cette fonction ne fait rien.
Cette fonction a été introduite dans Qt 6.5.
Voir également remove().
[since 6.5] QString &QString::removeFirst()
Supprime le premier caractère de cette chaîne. Si la chaîne est vide, cette fonction ne fait rien.
Cette fonction a été introduite dans Qt 6.5.
Voir également remove().
[since 6.1] template <typename Predicate> QString &QString::removeIf(Predicate pred)
Supprime de la chaîne tous les éléments pour lesquels le prédicat pred renvoie « vrai ». Renvoie une référence à la chaîne.
Cette fonction a été introduite dans Qt 6.1.
Voir aussi remove().
[since 6.5] QString &QString::removeLast()
Supprime le dernier caractère de cette chaîne. Si la chaîne est vide, cette fonction ne fait rien.
Cette fonction a été introduite dans Qt 6.5.
Voir aussi remove().
QString::reverse_iterator QString::rend()
Renvoie un itérateur inversé de type STL pointant juste après le dernier caractère de la chaîne, dans l'ordre inverse.
Avertissement : l'itérateur renvoyé est invalidé en cas de détachement ou lorsque l'QString est modifiée.
Voir également end(), crend() et rbegin().
QString::const_reverse_iterator QString::rend() const
Il s'agit d'une fonction surchargée.
QString QString::repeated(qsizetype times) const
Renvoie une copie de cette chaîne répétée le nombre spécifié de fois times.
Si times est inférieur à 1, une chaîne vide est renvoyée.
Exemple :
QString str("ab");
str.repeated(4); // returns "abababab"QString &QString::replace(qsizetype position, qsizetype n, const QString &after)
Remplace les caractères de la chaîne n à partir de l'index position par la chaîne after et renvoie une référence à cette chaîne.
Remarque : si l’index position spécifié se trouve dans la chaîne, mais que position + n dépasse la longueur de la chaîne, alors n sera ajusté pour s’arrêter à la fin de la chaîne.
Exemple :
Voir également insert() et remove().
QString &QString::replace(const QRegularExpression &re, const QString &after)
Remplace chaque occurrence de l'expression régulière « re » dans la chaîne par « after ». Renvoie une référence à la chaîne. Par exemple :
QString s = "Banana";
s.replace(QRegularExpression("a[mn]"), "ox");
// s == "Boxoxa"Pour les expressions régulières contenant des groupes de capture, les occurrences de \1, \2, …, dans « after » sont remplacées par la chaîne capturée par le groupe de capture correspondant.
QString t = "A <i>bon mot</i>.";
t.replace(QRegularExpression("<i>([^<]*)</i>"), "\\emph{\\1}");
// t == "A \\emph{bon mot}."Cette fonction surcharge la méthode QString::replace().
Voir également indexOf(), lastIndexOf(), remove(), QRegularExpression et QRegularExpressionMatch.
QString &QString::replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Remplace chaque occurrence du caractère before par le caractère after et renvoie une référence à cette chaîne.
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Cette fonction surcharge la méthode QString::replace().
QString &QString::replace(QChar c, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Remplace toutes les occurrences du caractère « c » par la chaîne « after » et renvoie une référence à cette chaîne.
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Remarque : le texte n’est pas réanalysé après un remplacement.
Cette fonction surcharge la méthode QString::replace().
QString &QString::replace(QChar ch, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Remplace chaque occurrence du caractère « ch » dans la chaîne par « after » et renvoie une référence à cette chaîne.
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Cette fonction surcharge la méthode QString::replace().
QString &QString::replace(QLatin1StringView before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Remplace chaque occurrence, dans cette chaîne, de la chaîne Latin-1 affichée par before par la chaîne Latin-1 affichée par after, puis renvoie une référence à cette chaîne.
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Remarque : le texte n’est pas réanalysé après un remplacement.
Remarque : si vous utilisez un argument before vide, l’argument after sera inséré avant et après chaque caractère de la chaîne.
Cette fonction surcharge la méthode QString::replace().
QString &QString::replace(QLatin1StringView before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Remplace chaque occurrence, dans cette chaîne, de la chaîne Latin-1 affichée par before par la chaîne after, puis renvoie une référence à cette chaîne.
Si cs est Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Remarque : le texte n’est pas réanalysé après un remplacement.
Remarque : si vous utilisez un argument ` before ` vide, l’argument ` after ` sera inséré avant et après chaque caractère de la chaîne.
Cette fonction surcharge la méthode QString::replace().
QString &QString::replace(const QString &before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Remplace toutes les occurrences de la chaîne « before » par la chaîne « after » et renvoie une référence à cette chaîne.
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Remarque : le texte n'est pas réanalysé après un remplacement.
Remarque : si vous utilisez un argument ` before ` vide, l’argument ` after ` sera inséré avant et après chaque caractère de la chaîne.
Cette fonction surcharge la méthode QString::replace().
QString &QString::replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Remplace toutes les occurrences de la chaîne « before » par la chaîne « after » et renvoie une référence à cette chaîne.
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; dans le cas contraire, elle ne tient pas compte de la casse.
Exemple :
QString str = "colour behaviour flavour neighbour";
str.replace(QString("ou"), QString("o"));
// str == "color behavior flavor neighbor"Remarque : le texte de remplacement n’est pas réanalysé après son insertion.
Exemple :
QString equis = "xxxxxx";
equis.replace("xx", "x");
// equis == "xxx"Remarque : si vous utilisez un argument ` before ` vide, l’argument ` after ` sera inséré avant et après chaque caractère de la chaîne.
Cette fonction surcharge la méthode QString::replace().
QString &QString::replace(qsizetype position, qsizetype n, QChar after)
Remplace les caractères de la chaîne n à partir de l'index position par le caractère after et renvoie une référence à cette chaîne.
Cette fonction surcharge la méthode QString::replace().
QString &QString::replace(qsizetype position, qsizetype n, const QChar *after, qsizetype alen)
Remplace les caractères de la chaîne n à partir de l'index position par les premiers caractères alen du tableau QChar after et renvoie une référence à cette chaîne.
n ne doit pas être négatif.
Cette fonction surcharge la fonction ` QString::replace()`.
QString &QString::replace(const QChar *before, qsizetype blen, const QChar *after, qsizetype alen, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Remplace chaque occurrence, dans cette chaîne, des premiers blen caractères de before par les premiers alen caractères de after, puis renvoie une référence à cette chaîne.
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Remarque : si before pointe vers une chaîne vide (c’est-à-dire si blen == 0), la chaîne pointée par after sera insérée avant et après chaque caractère de cette chaîne.
Cette fonction surcharge la méthode QString::replace().
void QString::reserve(qsizetype size)
Vérifie que la chaîne dispose d'un espace suffisant pour au moins size caractères.
Si vous connaissez à l'avance la taille d'une chaîne, vous pouvez appeler cette fonction pour éviter des réallocations répétées lors de sa construction. Cela peut améliorer les performances lors de la construction incrémentielle d'une chaîne. Une longue séquence d'opérations ajoutant des éléments à une chaîne peut déclencher plusieurs réallocations, dont la dernière peut vous laisser avec nettement plus d'espace que nécessaire. Cette approche est moins efficace que de procéder à une seule allocation de la taille adéquate dès le début.
En cas de doute sur l’espace nécessaire, il est généralement préférable d’utiliser une borne supérieure telle qu’ size, ou une estimation haute de la taille la plus probable, si une borne supérieure stricte s’avère bien plus grande que celle-ci. Si ` size ` est une sous-estimation, la chaîne s’allongera selon les besoins une fois la taille réservée dépassée, ce qui peut entraîner une allocation plus importante que ne l’aurait été votre meilleure surestimation et ralentira l’opération qui la déclenche.
Avertissement : la fonction `reserve ()` réserve de la mémoire mais ne modifie pas la taille de la chaîne. L’accès aux données situées au-delà de la fin de la chaîne entraîne un comportement indéfini. Si vous devez accéder à la mémoire au-delà de la fin actuelle de la chaîne, utilisez ` resize()`.
Cette fonction est utile pour le code qui doit construire une longue chaîne et qui souhaite éviter des réallocations répétées. Dans cet exemple, nous souhaitons ajouter des éléments à la chaîne jusqu’à ce qu’une certaine condition soit remplie ( true), et nous sommes assez sûrs que cette taille est suffisamment importante pour que l’appel à `reserve()` en vaille la peine :
QString result;
qsizetype maxSize;
bool condition;
QChar nextChar;
result.reserve(maxSize);
while (condition)
result.append(nextChar);
result.squeeze();Voir également squeeze(), capacity() et resize().
void QString::resize(qsizetype size)
Définit la taille de la chaîne à size caractères.
Si size est supérieur à la taille actuelle, la chaîne est allongée pour atteindre une longueur de size caractères, les caractères supplémentaires étant ajoutés à la fin. Les nouveaux caractères ne sont pas initialisés.
Si ` size ` est inférieure à la taille actuelle, les caractères situés au-delà de la position ` size ` sont exclus de la chaîne.
Remarque : bien que la fonction resize() augmente la capacité si nécessaire, elle ne la réduit jamais. Pour supprimer la capacité excédentaire, utilisez la fonction squeeze().
Exemple :
QString s = "Hello world";
s.resize(5);
// s == "Hello"
s.resize(8);
// s == "Hello???" (where ? stands for any character)Si vous souhaitez ajouter un certain nombre de caractères identiques à la chaîne, utilisez la surcharge de la fonction resize(qsizetype, QChar).
Si vous souhaitez étendre la chaîne pour qu’elle atteigne une certaine largeur et remplir les nouvelles positions avec un caractère particulier, utilisez la fonction ` leftJustified()` :
Si size est négative, cela revient à passer zéro.
QString r = "Hello";
r = r.leftJustified(10, ' ');
// r == "Hello "Voir également truncate(), reserve() et squeeze().
void QString::resize(qsizetype newSize, QChar fillChar)
Contrairement à ` resize` (`qsizetype`), cette surcharge initialise les nouveaux caractères à ` fillChar` :
QString t = "Hello";
t.resize(t.size() + 10, 'X');
// t == "HelloXXXXXXXXXX"Il s'agit d'une fonction surchargée.
[since 6.8] void QString::resizeForOverwrite(qsizetype size)
Définit la taille de la chaîne à size caractères. Si la taille de la chaîne augmente, les nouveaux caractères ne sont pas initialisés.
Le comportement est identique à celui de ` resize(size)`.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi ` resize()`.
Renvoie une sous-chaîne contenant les n caractères situés le plus à droite de la chaîne.
Si vous savez que ` n ` ne peut pas être hors limites, utilisez plutôt ` last()` dans votre nouveau code, car cette fonction est plus rapide.
La chaîne entière est renvoyée si ` n ` est supérieur ou égal à ` size()`, ou inférieur à zéro.
Voir également endsWith(), last(), first(), sliced(), chopped(), chop(), truncate() et slice().
QString QString::rightJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const
Renvoie une chaîne de caractères de type size() width contenant le caractère fill suivi de la chaîne. Par exemple :
Si truncate est false et que la longueur de la chaîne ( size()) est supérieure à width, alors la chaîne renvoyée est une copie de la chaîne.
Si truncate est vrai et que la longueur de la chaîne ( size()) est supérieure à width, alors la chaîne résultante est tronquée à la position width.
QString str = "Pineapple";
str = str.rightJustified(5, '.', true); // str == "Pinea"Voir aussi leftJustified().
QString QString::section(QChar sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
Cette fonction renvoie une partie de la chaîne.
Cette chaîne est traitée comme une séquence de champs séparés par le caractère sep. La chaîne renvoyée comprend les champs situés entre la position start et la position end, ces deux positions incluses. Si end n'est pas spécifié, tous les champs situés entre la position start et la fin de la chaîne sont inclus. Les champs sont numérotés 0, 1, 2, etc., en comptant de la gauche, et -1, -2, etc., en comptant de droite à gauche.
L’argument « flags » permet de modifier certains aspects du comportement de la fonction, par exemple : la distinction entre majuscules et minuscules, l’omission des champs vides et le traitement des séparateurs de début et de fin ; voir SectionFlags.
QString str;
QString csv = "forename,middlename,surname,phone";
QString path = "/usr/local/bin/myapp"; // First field is empty
QString::SectionFlag flag = QString::SectionSkipEmpty;
str = csv.section(',', 2, 2); // str == "surname"
str = path.section('/', 3, 4); // str == "bin/myapp"
str = path.section('/', 3, 3, flag); // str == "myapp"Si start ou end est négatif, les champs sont comptés à partir de la droite de la chaîne, le champ le plus à droite étant -1, celui suivant étant -2, et ainsi de suite.
str = csv.section(',', -3, -2); // str == "middlename,surname"
str = path.section('/', -1); // str == "myapp"Voir également split().
QString QString::section(const QRegularExpression &re, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
Cette chaîne est traitée comme une séquence de champs séparés par l'expression régulière « re ».
QString line = "forename\tmiddlename surname \t \t phone";
QRegularExpression sep("\\s+");
str = line.section(sep, 2, 2); // str == "surname"
str = line.section(sep, -3, -2); // str == "middlename surname"Avertissement : l’utilisation de cette version « QRegularExpression » est beaucoup plus coûteuse en termes de ressources que les versions surchargées « string » et « character ».
Cette fonction surcharge la fonction QString::section().
Voir également split() et simplified().
QString QString::section(const QString &sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
QString str;
QString data = "forename**middlename**surname**phone";
str = data.section("**", 2, 2); // str == "surname"
str = data.section("**", -3, -2); // str == "middlename**surname"Cette fonction surcharge la méthode ` QString::section()`.
Voir également split().
QString &QString::setNum(int n, int base = 10)
Définit la chaîne sur la valeur affichée de ` n ` dans l'base` spécifiée, et renvoie une référence à cette chaîne.
La base est de 10 par défaut et doit être comprise entre 2 et 36.
QString str;
str.setNum(1234); // str == "1234"Le formatage utilise toujours « QLocale::C », c’est-à-dire « English/UnitedStates ». Pour obtenir une représentation sous forme de chaîne localisée d’un nombre, utilisez la fonction QLocale::toString() avec les paramètres de localisation appropriés.
Voir également la fonction ` number()`.
QString &QString::setNum(long n, int base = 10)
Il s'agit d'une fonction surchargée.
QString &QString::setNum(qlonglong n, int base = 10)
Il s'agit d'une fonction surchargée.
QString &QString::setNum(qulonglong n, int base = 10)
Il s'agit d'une fonction surchargée.
QString &QString::setNum(short n, int base = 10)
Il s'agit d'une fonction surchargée.
QString &QString::setNum(uint n, int base = 10)
Il s'agit d'une fonction surchargée.
QString &QString::setNum(ulong n, int base = 10)
Il s'agit d'une fonction surchargée.
QString &QString::setNum(ushort n, int base = 10)
Il s'agit d'une fonction surchargée.
QString &QString::setNum(double n, char format = 'g', int precision = 6)
Définit la chaîne sur la valeur affichée de ` n`, formatée selon les paramètres ` format ` et ` precision`, puis renvoie une référence à cette chaîne.
Il s’agit d’une fonction surchargée.
Voir également number(), QLocale::FloatingPointPrecisionOption et Number formats.
QString &QString::setNum(float n, char format = 'g', int precision = 6)
Définit la chaîne sur la valeur affichée de n, formatée selon les paramètres format et precision, puis renvoie une référence à cette chaîne.
Le formatage utilise toujours QLocale::C, c'est-à-dire English/UnitedStates. Pour obtenir une représentation localisée d'un nombre sous forme de chaîne, utilisez QLocale::toString() avec la locale appropriée.
Il s'agit d'une fonction surchargée.
Voir également number().
QString &QString::setRawData(const QChar *unicode, qsizetype size)
Réinitialise l'QString afin d'utiliser les premiers caractères Unicode size du tableau unicode. Les données contenues dans unicode ne sont pas copiées. L'appelant doit pouvoir garantir que unicode ne sera ni supprimé ni modifié tant que QString (ou une copie non modifiée de celui-ci) existe.
Cette fonction peut être utilisée à la place de ` fromRawData()` pour réutiliser des objets ` QString ` existants afin d’éviter des réallocations de mémoire.
Voir également fromRawData(), nullTerminate() et nullTerminated().
QString &QString::setUnicode(const QChar *unicode, qsizetype size)
Redimensionne la chaîne à size caractères et copie unicode dans la chaîne.
Si unicode est égal à nullptr, rien n'est copié, mais la chaîne est tout de même redimensionnée à size.
Voir également unicode() et setUtf16().
[since 6.9] QString &QString::setUnicode(const char16_t *unicode, qsizetype size)
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.9.
Voir également unicode() et setUtf16().
[since 6.9] QString &QString::setUtf16(const char16_t *unicode, qsizetype size)
Redimensionne la chaîne à size caractères et copie unicode dans la chaîne.
Si unicode est égal à nullptr, rien n'est copié, mais la chaîne est tout de même redimensionnée à size.
Notez que contrairement à fromUtf16(), cette fonction ne tient pas compte des BOM ni des éventuelles différences d’ordre des octets.
Cette fonction a été introduite dans Qt 6.9.
Voir également utf16() et setUnicode().
void QString::shrink_to_fit()
Cette fonction est fournie à des fins de compatibilité avec la STL. Elle équivaut à squeeze().
Voir également squeeze().
QString QString::simplified() const
Renvoie une chaîne dont les espaces blancs au début et à la fin ont été supprimés, et dans laquelle chaque séquence d'espaces blancs internes a été remplacée par un seul espace.
On entend par « espace » tout caractère pour lequel la fonction ` QChar::isSpace()` renvoie ` true`. Cela inclut les caractères ASCII «\t », «\n », «\v », «\f », «\r » et « ».
Exemple :
QString str = " lots\t of\nwhitespace\r\n ";
str = str.simplified();
// str == "lots of whitespace";Voir également trimmed().
[constexpr noexcept] qsizetype QString::size() const
Renvoie le nombre de caractères contenus dans cette chaîne.
Le dernier caractère de la chaîne se trouve à la position size() - 1.
Exemple :
QString str = "World";
qsizetype n = str.size(); // n == 5
str.data()[0]; // returns 'W'
str.data()[4]; // returns 'd'Voir aussi isEmpty() et resize().
[since 6.8] QString &QString::slice(qsizetype pos, qsizetype n)
Modifie cette chaîne pour qu'elle commence à la position pos, jusqu'à (sans l'inclure) le caractère (point de code) situé à l'index pos + n; et renvoie une référence à cette chaîne.
Remarque : le comportement est indéfini si pos < 0, n < 0, ou si pos + n > size().
QString x = u"Nine pineapples"_s;
x.slice(5); // x == "pineapples"
x.slice(4, 3); // x == "app"Cette fonction a été introduite dans Qt 6.8.
Voir également sliced(), first(), last(), chopped(), chop() et truncate().
[since 6.8] QString &QString::slice(qsizetype pos)
Modifie cette chaîne en commençant à la position pos et en s'étendant jusqu'à la fin de celle-ci, puis renvoie une référence à cette chaîne.
Remarque : le comportement est indéfini si pos < 0 ou si pos > size().
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.8.
Voir également sliced(), first(), last(), chopped(), chop() et truncate().
[since 6.0] QString QString::sliced(qsizetype pos, qsizetype n) &&
[since 6.0] QString QString::sliced(qsizetype pos, qsizetype n) const &
Renvoie une chaîne contenant les caractères d'n de cette chaîne, à partir de la position pos jusqu'à l'élément situé à l'index pos + n.
Remarque : le comportement est indéfini lorsque pos < 0, n < 0 ou pos + n > size().
QString x = "Nine pineapples";
QString y = x.sliced(5, 4); // y == "pine"
QString z = x.sliced(5); // z == "pineapples"Ces fonctions ont été introduites dans Qt 6.0.
Voir également first(), last(), chopped(), chop(), truncate() et slice().
[since 6.0] QString QString::sliced(qsizetype pos) &&
[since 6.0] QString QString::sliced(qsizetype pos) const &
Renvoie une chaîne contenant la partie de cette chaîne commençant à la position pos et s'étendant jusqu'à la fin de celle-ci.
Remarque : le comportement est indéfini lorsque ` pos < 0` ou ` pos > size()`.
Ces fonctions ont été introduites dans Qt 6.0.
Voir également first(), last(), chopped(), chop(), truncate() et slice().
QStringList QString::split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Divise la chaîne en sous-chaînes à chaque occurrence de « sep » et renvoie la liste de ces chaînes. Si « sep » n’apparaît nulle part dans la chaîne, la fonction split() renvoie une liste à un seul élément contenant cette chaîne.
cs Spécifie si la chaîne « sep » doit être recherchée en tenant compte de la casse ou non.
Si behavior est Qt::SkipEmptyParts, les entrées vides n’apparaissent pas dans le résultat. Par défaut, les entrées vides sont conservées.
Exemple :
QString str = QStringLiteral("a,,b,c");
QStringList list1 = str.split(u',');
// list1: [ "a", "", "b", "c" ]
QStringList list2 = str.split(u',', Qt::SkipEmptyParts);
// list2: [ "a", "b", "c" ]Si ` sep ` est vide, `split()` renvoie une chaîne vide, suivie de chacun des caractères de la chaîne, puis d'une autre chaîne vide :
Pour comprendre ce comportement, rappelez-vous que la chaîne vide correspond à n’importe quelle position ; ainsi, ce qui précède est qualitativement identique à :
QString str = "/a/b/c/";
auto parts = str.split(u'/');
// parts: {"", "a", "b", "c", ""}Voir également QStringList::join() et section().
QStringList QString::split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const
Divise la chaîne en sous-chaînes à chaque occurrence de l're d'expression régulière, puis renvoie la liste de ces chaînes. Si l're ne correspond à aucun endroit de la chaîne, la fonction split() renvoie une liste à un seul élément contenant cette chaîne.
Voici un exemple où nous extrayons les mots d’une phrase en utilisant un ou plusieurs caractères d’espacement comme séparateur :
QString str;
QStringList list;
str = "Some text\n\twith strange whitespace.";
list = str.split(QRegularExpression("\\s+"));
// list: [ "Some", "text", "with", "strange", "whitespace." ]Voici un exemple similaire, mais cette fois-ci, nous utilisons n’importe quelle séquence de caractères non alphabétiques comme séparateur :
str = "This time, a normal English sentence.";
list = str.split(QRegularExpression("\\W+"), Qt::SkipEmptyParts);
// list: [ "This", "time", "a", "normal", "English", "sentence" ]Voici un troisième exemple où nous utilisons une assertion de longueur nulle, \b (limite de mot), pour diviser la chaîne en une séquence alternée de tokens non-mots et de tokens mots :
str = "Now: this sentence fragment.";
list = str.split(QRegularExpression("\\b"));
// list: [ "", "Now", ": ", "this", " ", "sentence", " ", "fragment", "." ]Il s’agit d’une fonction surchargée.
Voir également QStringList::join() et section().
QStringList QString::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Il s'agit d'une fonction surchargée.
void QString::squeeze()
Libère toute la mémoire qui n'est pas nécessaire au stockage des données de caractères.
Cette fonction a pour seul objectif de permettre d'ajuster avec précision l'utilisation de la mémoire par QString. En général, vous n'aurez que très rarement besoin d'appeler cette fonction.
Voir également reserve() et capacity().
bool QString::startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie ` true ` si la chaîne commence par ` s` ; sinon, renvoie ` false`.
Si cs vaut Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
QString str = "Bananas";
str.startsWith("Ban"); // returns true
str.startsWith("Car"); // returns falseVoir également endsWith().
bool QString::startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie « true » si la chaîne commence par « c » ; sinon, renvoie « false ».
Cette fonction surcharge la méthode QString::startsWith().
bool QString::startsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Cette fonction surcharge la méthode ` QString::startsWith()`.
[noexcept] bool QString::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Renvoie « true » si la chaîne commence par la chaîne « str » ; sinon, renvoie « false ».
Si cs est égal à Qt::CaseSensitive (valeur par défaut), la recherche tient compte de la casse ; sinon, elle ne tient pas compte de la casse.
Il s'agit d'une fonction surchargée.
Voir aussi endsWith().
[noexcept] void QString::swap(QString &other)
Permute cette chaîne avec other. Cette opération est très rapide et ne rencontre jamais d'échec.
CFStringRef QString::toCFString() const
Crée un CFString à partir d'un QString.
L'appelant est propriétaire du CFString et est chargé de le libérer.
Remarque : cette fonction n'est disponible que sur macOS et iOS.
QString QString::toCaseFolded() const
Renvoie l'équivalent de la chaîne après conversion de la casse. Pour la plupart des caractères Unicode, cela revient à utiliser la fonction ` toLower()`.
double QString::toDouble(bool *ok = nullptr) const
Renvoie la chaîne convertie en une valeur de type ` double `.
Renvoie l'infini si la conversion entraîne un débordement, ou 0,0 si la conversion échoue pour d'autres raisons (par exemple, un sous-débordement).
Si ok n'est pas nullptr, l'échec est signalé en définissant *ok sur false, et la réussite en définissant *ok sur true.
QString str = "1234.56";
double val = str.toDouble(); // val == 1234.56Avertissement : le contenu de ` QString ` ne doit contenir que des caractères numériques valides, notamment les signes plus et moins, le caractère « e » utilisé en notation scientifique et le point décimal. L'inclusion de l'unité ou de caractères supplémentaires entraîne une erreur de conversion.
bool ok;
double d;
d = QString( "1234.56e-02" ).toDouble(&ok); // ok == true, d == 12.3456
d = QString( "1234.56e-02 Volt" ).toDouble(&ok); // ok == false, d == 0La conversion de la chaîne s'effectuera toujours selon les paramètres régionaux « C ». Pour une conversion dépendante des paramètres régionaux, utilisez QLocale::toDouble().
d = QString( "1234,56" ).toDouble(&ok); // ok == false
d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56Pour des raisons historiques, cette fonction ne prend pas en charge les séparateurs de milliers. Si vous avez besoin de convertir de tels nombres, utilisez QLocale::toDouble().
d = QString( "1,234,567.89" ).toDouble(&ok); // ok == false
d = QString( "1234567.89" ).toDouble(&ok); // ok == trueCette fonction ignore les espaces en début et en fin de chaîne.
Voir également number(), QLocale::setDefault(), QLocale::toDouble() et trimmed().
[since 6.6] emscripten::val QString::toEcmaString() const
Convertit cet objet en une chaîne ECMAScript.
Cette fonction a été introduite dans Qt 6.6.
Voir également fromEcmaString().
float QString::toFloat(bool *ok = nullptr) const
Renvoie la chaîne convertie en une valeur de type ` float `.
Renvoie l'infini si la conversion entraîne un débordement, ou 0,0 si la conversion échoue pour d'autres raisons (par exemple, un sous-débordement).
Si ok n'est pas nullptr, l'échec est signalé en définissant *ok sur false, et la réussite en définissant *ok sur true.
Avertissement : le contenu de ` QString ` ne doit contenir que des caractères numériques valides, notamment les signes plus et moins, le caractère « e » utilisé en notation scientifique et le point décimal. L'inclusion de l'unité ou de caractères supplémentaires entraîne une erreur de conversion.
La conversion de chaîne s'effectue toujours selon les paramètres régionaux « C ». Pour une conversion dépendante des paramètres régionaux, utilisez QLocale::toFloat().
Pour des raisons historiques, cette fonction ne gère pas les séparateurs de milliers. Si vous avez besoin de convertir de tels nombres, utilisez ` QLocale::toFloat()`.
Exemple :
QString str1 = "1234.56";
str1.toFloat(); // returns 1234.56
bool ok;
QString str2 = "R2D2";
str2.toFloat(&ok); // returns 0.0, sets ok to false
QString str3 = "1234.56 Volt";
str3.toFloat(&ok); // returns 0.0, sets ok to falseCette fonction ignore les espaces en début et en fin de chaîne.
Voir également number(), toDouble(), toInt(), QLocale::toFloat() et trimmed().
QString QString::toHtmlEscaped() const
Convertit une chaîne de texte brut en une chaîne HTML, en remplaçant les métacaractères HTML <, >, & et " par des entités HTML.
Exemple :
QString plain = "#include <QtCore>";
QString html = plain.toHtmlEscaped();
// html == "#include <QtCore>"int QString::toInt(bool *ok = nullptr, int base = 10) const
Renvoie la chaîne convertie en un nombre « int » en utilisant la base base, qui est de 10 par défaut et doit être comprise entre 2 et 36, ou 0. Renvoie 0 si la conversion échoue.
Si ` ok ` n'est pas ` nullptr`, l'échec est signalé en définissant * `ok ` sur ` false`, et la réussite en définissant * `ok ` sur ` true`.
Si base vaut 0, la convention du langage C est utilisée : si la chaîne commence par « 0x », la base 16 est utilisée ; sinon, si la chaîne commence par « 0b », la base 2 est utilisée ; sinon, si la chaîne commence par « 0 », la base 8 est utilisée ; sinon, la base 10 est utilisée.
La conversion de la chaîne s'effectuera toujours selon les paramètres régionaux « C ». Pour une conversion dépendante des paramètres régionaux, utilisez QLocale::toInt()
Exemple :
QString str = "FF";
bool ok;
int hex = str.toInt(&ok, 16); // hex == 255, ok == true
int dec = str.toInt(&ok, 10); // dec == 0, ok == falseCette fonction ignore les espaces en début et en fin de chaîne.
Remarque : la prise en charge du préfixe « 0b » a été ajoutée dans Qt 6.4.
Voir également number(), toUInt(), toDouble() et QLocale::toInt().
QByteArray QString::toLatin1() const
Renvoie une représentation Latin-1 de la chaîne sous la forme d'un tableau d'octets ( QByteArray).
Le tableau d'octets renvoyé est indéfini si la chaîne contient des caractères non Latin-1. Ces caractères peuvent être supprimés ou remplacés par un point d'interrogation.
Voir également fromLatin1(), toUtf8(), toLocal8Bit() et QStringEncoder.
QByteArray QString::toLocal8Bit() const
Renvoie la représentation locale sur 8 bits de la chaîne sous la forme d'un ` QByteArray`.
Sur les systèmes Unix, cela équivaut à ` toUtf8()`. Notez que sur les systèmes Apple, cette fonction ne tient pas compte de `NSString.defaultCStringEncoding ` ni de `CFStringGetSystemEncoding()`, car ces fonctions renvoient généralement l'encodage hérité « Western (Mac OS Roman) », qui ne doit pas être utilisé sur les systèmes d'exploitation Apple modernes. Sous Windows, la page de codes actuelle du système est utilisée.
Si cette chaîne contient des caractères qui ne peuvent pas être encodés dans l’encodage local à 8 bits, le tableau d’octets renvoyé est indéfini. Ces caractères peuvent être supprimés ou remplacés par d’autres.
Voir également fromLocal8Bit(), toLatin1(), toUtf8() et QStringEncoder.
long QString::toLong(bool *ok = nullptr, int base = 10) const
Renvoie la chaîne convertie au format « long » en utilisant la base base, qui est de 10 par défaut et doit être comprise entre 2 et 36, ou égale à 0. Renvoie 0 si la conversion échoue.
Si ` ok ` n'est pas ` nullptr`, l'échec est signalé en définissant * `ok ` sur ` false`, et la réussite en définissant * `ok ` sur ` true`.
Si base vaut 0, la convention du langage C est utilisée : si la chaîne commence par « 0x », la base 16 est utilisée ; sinon, si la chaîne commence par « 0b », la base 2 est utilisée ; sinon, si la chaîne commence par « 0 », la base 8 est utilisée ; sinon, la base 10 est utilisée.
La conversion de la chaîne s'effectuera toujours selon les paramètres régionaux « C ». Pour une conversion dépendante des paramètres régionaux, utilisez QLocale::toLongLong()
Exemple :
QString str = "FF";
bool ok;
long hex = str.toLong(&ok, 16); // hex == 255, ok == true
long dec = str.toLong(&ok, 10); // dec == 0, ok == falseCette fonction ignore les espaces en début et en fin de chaîne.
Remarque : la prise en charge du préfixe « 0b » a été ajoutée dans Qt 6.4.
Voir également number(), toULong(), toInt() et QLocale::toInt().
qlonglong QString::toLongLong(bool *ok = nullptr, int base = 10) const
Renvoie la chaîne convertie au format « long long » en utilisant la base base, qui est de 10 par défaut et doit être comprise entre 2 et 36, ou égale à 0. Renvoie 0 si la conversion échoue.
Si ` ok ` n’est pas ` nullptr`, un échec est signalé en définissant *`ok ` sur ` false`, et une réussite en définissant *`ok ` sur ` true`.
Si base vaut 0, la convention du langage C est utilisée : si la chaîne commence par « 0x », la base 16 est utilisée ; sinon, si la chaîne commence par « 0b », la base 2 est utilisée ; sinon, si la chaîne commence par « 0 », la base 8 est utilisée ; sinon, la base 10 est utilisée.
La conversion de la chaîne s'effectuera toujours selon les paramètres régionaux « C ». Pour une conversion dépendante des paramètres régionaux, utilisez QLocale::toLongLong()
Exemple :
QString str = "FF";
bool ok;
qint64 hex = str.toLongLong(&ok, 16); // hex == 255, ok == true
qint64 dec = str.toLongLong(&ok, 10); // dec == 0, ok == falseCette fonction ignore les espaces en début et en fin de chaîne.
Remarque : la prise en charge du préfixe « 0b » a été ajoutée dans Qt 6.4.
Voir également number(), toULongLong(), toInt() et QLocale::toLongLong().
QString QString::toLower() const
Renvoie une copie de la chaîne en minuscules.
QString str = "The Qt PROJECT";
str = str.toLower(); // str == "the qt project"La conversion de casse s'effectue toujours selon la locale « C ». Pour une conversion de casse dépendante de la locale, utilisez QLocale::toLower()
Voir également toUpper() et QLocale::toLower().
NSString *QString::toNSString() const
Crée un objet NSString à partir d'un objet ` QString`.
Le NSString est libéré automatiquement.
Remarque : cette fonction n'est disponible que sur macOS et iOS.
short QString::toShort(bool *ok = nullptr, int base = 10) const
Renvoie la chaîne convertie en un short en utilisant la base base, qui est de 10 par défaut et doit être comprise entre 2 et 36, ou égale à 0. Renvoie 0 si la conversion échoue.
Si ok n’est pas nullptr, l’échec est signalé en définissant *ok sur false, et la réussite en définissant *ok sur true.
Si base vaut 0, la convention du langage C est utilisée : si la chaîne commence par « 0x », la base 16 est utilisée ; sinon, si la chaîne commence par « 0b », la base 2 est utilisée ; sinon, si la chaîne commence par « 0 », la base 8 est utilisée ; sinon, la base 10 est utilisée.
La conversion de la chaîne s'effectuera toujours selon les paramètres régionaux « C ». Pour une conversion dépendante des paramètres régionaux, utilisez QLocale::toShort()
Exemple :
QString str = "FF";
bool ok;
short hex = str.toShort(&ok, 16); // hex == 255, ok == true
short dec = str.toShort(&ok, 10); // dec == 0, ok == falseCette fonction ignore les espaces en début et en fin de chaîne.
Remarque : la prise en charge du préfixe « 0b » a été ajoutée dans Qt 6.4.
Voir également number(), toUShort(), toInt() et QLocale::toShort().
std::string QString::toStdString() const
Renvoie un objet std::string contenant les données de cet QString. Les données Unicode sont converties en caractères 8 bits à l'aide de la fonction toUtf8().
Cette méthode est principalement utile pour transmettre un objet ` QString ` à une fonction qui accepte un objet `std::string`.
Voir également toLatin1(), toUtf8(), toLocal8Bit() et QByteArray::toStdString().
std::u16string QString::toStdU16String() const
Renvoie un objet std::u16string contenant les données de cet QString. Les données Unicode sont identiques à celles renvoyées par la méthode utf16().
Voir également utf16(), toStdWString() et toStdU32String().
std::u32string QString::toStdU32String() const
Renvoie un objet std::u32string contenant les données de cet QString. Les données Unicode sont identiques à celles renvoyées par la méthode toUcs4().
Voir également toUcs4(), toStdWString() et toStdU16String().
std::wstring QString::toStdWString() const
Renvoie un objet std::wstring contenant les données de cet QString. Le std::wstring est encodé en UTF-16 sur les plateformes où wchar_t a une largeur de 2 octets (par exemple, Windows) et en UTF-32 sur les plateformes où wchar_t a une largeur de 4 octets (la plupart des systèmes Unix).
Cette méthode est principalement utile pour transmettre un ` QString ` à une fonction qui accepte un objet `std::wstring`.
Voir également utf16(), toLatin1(), toUtf8(), toLocal8Bit(), toStdU16String() et toStdU32String().
uint QString::toUInt(bool *ok = nullptr, int base = 10) const
Renvoie la chaîne convertie au format « unsigned int » en utilisant la base base, qui est de 10 par défaut et doit être comprise entre 2 et 36, ou égale à 0. Renvoie 0 si la conversion échoue.
Si ` ok ` n'est pas ` nullptr`, l'échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Si base vaut 0, la convention du langage C est utilisée : si la chaîne commence par « 0x », la base 16 est utilisée ; sinon, si la chaîne commence par « 0b », la base 2 est utilisée ; sinon, si la chaîne commence par « 0 », la base 8 est utilisée ; sinon, la base 10 est utilisée.
La conversion de la chaîne s'effectuera toujours selon les paramètres régionaux « C ». Pour une conversion dépendant des paramètres régionaux, utilisez QLocale::toUInt()
Exemple :
QString str = "FF";
bool ok;
uint hex = str.toUInt(&ok, 16); // hex == 255, ok == true
uint dec = str.toUInt(&ok, 10); // dec == 0, ok == falseCette fonction ignore les espaces en début et en fin de chaîne.
Remarque : la prise en charge du préfixe « 0b » a été ajoutée dans Qt 6.4.
Voir également number(), toInt() et QLocale::toUInt().
ulong QString::toULong(bool *ok = nullptr, int base = 10) const
Renvoie la chaîne convertie en un « unsigned long » en utilisant la base base, qui est de 10 par défaut et doit être comprise entre 2 et 36, ou 0. Renvoie 0 si la conversion échoue.
Si ` ok ` n'est pas ` nullptr`, l'échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Si base vaut 0, la convention du langage C est utilisée : si la chaîne commence par « 0x », la base 16 est utilisée ; sinon, si la chaîne commence par « 0b », la base 2 est utilisée ; sinon, si la chaîne commence par « 0 », la base 8 est utilisée ; sinon, la base 10 est utilisée.
La conversion de la chaîne s'effectuera toujours selon les paramètres régionaux « C ». Pour une conversion dépendante des paramètres régionaux, utilisez QLocale::toULongLong()
Exemple :
QString str = "FF";
bool ok;
ulong hex = str.toULong(&ok, 16); // hex == 255, ok == true
ulong dec = str.toULong(&ok, 10); // dec == 0, ok == falseCette fonction ignore les espaces en début et en fin de chaîne.
Remarque : la prise en charge du préfixe « 0b » a été ajoutée dans Qt 6.4.
Voir également number() et QLocale::toUInt().
qulonglong QString::toULongLong(bool *ok = nullptr, int base = 10) const
Renvoie la chaîne convertie en un format « unsigned long long » en utilisant la base base, qui est de 10 par défaut et doit être comprise entre 2 et 36, ou 0. Renvoie 0 si la conversion échoue.
Si ` ok ` n'est pas ` nullptr`, l'échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Si base est égal à 0, la convention du langage C est utilisée : si la chaîne commence par « 0x », la base 16 est utilisée ; sinon, si la chaîne commence par « 0b », la base 2 est utilisée ; sinon, si la chaîne commence par « 0 », la base 8 est utilisée ; sinon, la base 10 est utilisée.
La conversion de la chaîne s'effectuera toujours selon les paramètres régionaux « C ». Pour une conversion dépendante des paramètres régionaux, utilisez QLocale::toULongLong()
Exemple :
QString str = "FF";
bool ok;
quint64 hex = str.toULongLong(&ok, 16); // hex == 255, ok == true
quint64 dec = str.toULongLong(&ok, 10); // dec == 0, ok == falseCette fonction ignore les espaces en début et en fin de chaîne.
Remarque : la prise en charge du préfixe « 0b » a été ajoutée dans Qt 6.4.
Voir également number(), toLongLong() et QLocale::toULongLong().
ushort QString::toUShort(bool *ok = nullptr, int base = 10) const
Renvoie la chaîne convertie en un format « unsigned short » en utilisant la base base, qui est de 10 par défaut et doit être comprise entre 2 et 36, ou 0. Renvoie 0 si la conversion échoue.
Si ` ok ` n’est pas ` nullptr`, l’échec est signalé en définissant *`ok ` sur ` false`, et la réussite en définissant *`ok ` sur ` true`.
Si base vaut 0, la convention du langage C est utilisée : si la chaîne commence par « 0x », la base 16 est utilisée ; sinon, si la chaîne commence par « 0b », la base 2 est utilisée ; sinon, si la chaîne commence par « 0 », la base 8 est utilisée ; sinon, la base 10 est utilisée.
La conversion de la chaîne s’effectuera toujours selon les paramètres régionaux « C ». Pour une conversion dépendante des paramètres régionaux, utilisez QLocale::toUShort()
Exemple :
QString str = "FF";
bool ok;
ushort hex = str.toUShort(&ok, 16); // hex == 255, ok == true
ushort dec = str.toUShort(&ok, 10); // dec == 0, ok == falseCette fonction ignore les espaces en début et en fin de chaîne.
Remarque : la prise en charge du préfixe « 0b » a été ajoutée dans Qt 6.4.
Voir également number(), toShort() et QLocale::toUShort().
QList<uint> QString::toUcs4() const
Renvoie une représentation UCS-4/UTF-32 de la chaîne sous la forme d’un entier sans signe ( QList) <uint>.
UTF-32 est un codec Unicode et est donc sans perte. Tous les caractères de cette chaîne seront encodés en UTF-32. Toute séquence invalide d’unités de code dans cette chaîne est remplacée par le caractère de remplacement Unicode (QChar::ReplacementCharacter, qui correspond à U+FFFD).
La liste renvoyée n’est pas terminée par un 0.
Voir également fromUtf8(), toUtf8(), toLatin1(), toLocal8Bit(), QStringEncoder, fromUcs4() et toWCharArray().
QString QString::toUpper() const
Renvoie une copie de la chaîne en majuscules.
QString str = "TeXt";
str = str.toUpper(); // str == "TEXT"La conversion de casse s'effectue toujours selon les paramètres régionaux « C ». Pour une conversion de casse dépendante des paramètres régionaux, utilisez la fonction ` QLocale::toUpper()`.
Remarque : dans certains cas, la forme en majuscules d’une chaîne peut être plus longue que l’originale.
Remarque : depuis 2024, la langue allemande préfère officiellement mettre en majuscule le ß (U+00DF LATIN SMALL LETTER SHARP S) sous la forme ẞ (U+1E9E LATIN CAPITAL LETTER SHARP S). L'implémentation de Qt suit la norme Unicode, qui impose toujours l'utilisation de « SS ». Si vous devez appliquer les nouvelles règles allemandes, vous devez effectuer manuellement l'opération replace(u'ß', u'ẞ') avant d' appeler cette fonction.
Voir également toLower() et QLocale::toLower().
QByteArray QString::toUtf8() const
Renvoie une représentation UTF-8 de la chaîne sous la forme d'un QByteArray.
UTF-8 est un codec Unicode capable de représenter tous les caractères d'une chaîne Unicode, comme QString.
Voir également fromUtf8(), toLatin1(), toLocal8Bit() et QStringEncoder.
qsizetype QString::toWCharArray(wchar_t *array) const
Remplit le tableau ` array ` avec les données contenues dans cet objet ` QString `. Le tableau est encodé en UTF-16 sur les plateformes où le type `wchar_t` a une largeur de 2 octets (par exemple, Windows) et en UTF-32 sur les plateformes où le type `wchar_t` a une largeur de 4 octets (la plupart des systèmes Unix).
array Le tableau doit être alloué par l'appelant et contenir suffisamment d’espace pour contenir la chaîne complète (allouer un tableau de même longueur que la chaîne est toujours suffisant).
Cette fonction renvoie la longueur réelle de la chaîne dans ` array`.
Remarque : cette fonction n’ajoute pas de caractère nul à la fin du tableau.
Voir également utf16(), toUcs4(), toLatin1(), toUtf8(), toLocal8Bit(), toStdWString() et QStringView::toWCharArray().
[noexcept(...), since 6.0] template <typename Needle, typename... Flags> auto QString::tokenize(Needle &&sep, Flags... flags) &&
[noexcept(...), since 6.0] template <typename Needle, typename... Flags> auto QString::tokenize(Needle &&sep, Flags... flags) const &&
[noexcept(...), since 6.0] template <typename Needle, typename... Flags> auto QString::tokenize(Needle &&sep, Flags... flags) const &
Divise la chaîne en sous-chaînes à chaque occurrence d’ sep, puis renvoie une séquence « paresseuse » de ces chaînes.
Équivalent à
return QStringTokenizer{std::forward<Needle>(sep), flags...};sauf qu’il fonctionne sans que la déduction des arguments de modèles de classes (CTAD) de C++17 soit activée dans le compilateur.
Voir QStringTokenizer pour comprendre comment sep et flags interagissent pour former le résultat.
Remarque : bien que cette fonction renvoie des objets de type ` QStringTokenizer`, vous ne devez en aucun cas nommer explicitement ses arguments de modèle. Si vous pouvez utiliser la déduction des arguments de modèle de classe (CTAD) de C++17, vous pouvez écrire
QStringTokenizer result = sv.tokenize(sep);(sans arguments de modèle). Si vous ne pouvez pas utiliser la CTAD de C++17, vous devez stocker la valeur de retour uniquement dans des variables de type ` auto ` :
auto result = sv.tokenize(sep);En effet, les arguments de modèle de ` QStringTokenizer ` dépendent de manière très subtile de la surcharge spécifique de ` tokenize()` à partir de laquelle ils sont renvoyés, et ils ne correspondent généralement pas au type utilisé pour le séparateur.
Ces fonctions ont été introduites dans Qt 6.0.
Remarque : ( 1) est noexcept lorsque noexcept(qTokenize(std::declval<QString>(), std::forward<Needle>(needle), flags...)) est true.
Remarque : ( 2) est « noexcept » lorsque ` noexcept(qTokenize(std::declval<const QString>(), std::forward<Needle>(needle), flags...)) ` est ` true`.
Remarque : ( 3) est « noexcept » lorsque ` noexcept(qTokenize(std::declval<const QString &>(), std::forward<Needle>(needle), flags...)) ` est ` true`.
Voir également QStringTokenizer et qTokenize().
QString QString::trimmed() const
Renvoie une chaîne dont les espaces blancs ont été supprimés au début et à la fin.
On entend par « espace » tout caractère pour lequel la fonction QChar::isSpace() renvoie true. Cela inclut les caractères ASCII « '\t », «\n », «\v », «\f », «\r » et « ' ».
Exemple :
QString str = " lots\t of\nwhitespace\r\n ";
str = str.trimmed();
// str == "lots\t of\nwhitespace"Contrairement à la fonction simplified(), la fonction trimmed() ne modifie pas les espaces internes.
Voir également la fonction ` simplified()`.
void QString::truncate(qsizetype position)
Tronque la chaîne à partir de l'élément situé à l'index position, inclus.
Si l'position spécifiée dépasse la fin de la chaîne, rien ne se passe.
Exemple :
QString str = "Vladivostok";
str.truncate(4);
// str == "Vlad"Si position est négatif, cela revient à passer zéro.
Voir également chop(), resize(), first() et QStringView::truncate().
const QChar *QString::unicode() const
Renvoie une représentation Unicode de la chaîne. Le résultat reste valide tant que la chaîne n'est pas modifiée.
Remarque : la chaîne renvoyée peut ne pas être terminée par «\0 ». Utilisez size() pour déterminer la longueur du tableau.
Voir également setUnicode(), utf16() et fromRawData().
[static] QString QString::vasprintf(const char *cformat, va_list ap)
Méthode équivalente à ` asprintf()`, mais qui prend une `va_list` ap à la place d'une liste d'arguments variables. Consultez la documentation de ` asprintf()` pour plus d'explications sur ` cformat`.
Cette méthode n'appelle pas la macro va_end ; il incombe à l'appelant d'appeler va_end sur ap.
Voir également asprintf().
[noexcept, since 6.7] QString::operator std::u16string_view() const
Convertit cet objet ` QString ` en un objet ` std::u16string_view `.
Cette fonction a été introduite dans Qt 6.7.
QString &QString::operator+=(const QString &other)
Ajoute la chaîne « other » à la fin de cette chaîne et renvoie une référence à cette chaîne.
Exemple :
Cette opération est généralement très rapide (temps constant), car QString préalloue de l'espace supplémentaire à la fin des données de la chaîne afin qu'elle puisse s'allonger sans avoir à réallouer la chaîne entière à chaque fois.
Voir également ` append()` et ` prepend()`.
QString &QString::operator+=(QChar ch)
Ajoute le caractère ch à la chaîne.
Cette fonction surcharge la méthode QString::operator+=().
QString &QString::operator+=(QLatin1StringView str)
Ajoute à cette chaîne la chaîne Latin-1 traitée par la fonction str.
Cette fonction surcharge la méthode QString::operator+=().
[since 6.0] QString &QString::operator+=(QStringView str)
Ajoute la vue de chaîne « str » à cette chaîne.
Cette fonction surcharge la méthode QString::operator+=().
Cette fonction a été introduite dans Qt 6.0.
[since 6.5] QString &QString::operator+=(QUtf8StringView str)
Ajoute la chaîne UTF-8 de la vue str à cette chaîne.
Cette fonction surcharge la méthode QString::operator+=().
Cette fonction a été introduite dans Qt 6.5.
QString &QString::operator+=(const QByteArray &ba)
Ajoute le tableau d’octets ba à cette chaîne. Le tableau d’octets est converti en Unicode à l’aide de la fonction fromUtf8(). Si des caractères NUL («\0 ») sont intégrés dans le tableau d’octets ba, ils seront inclus dans la transformation.
Vous pouvez désactiver cette fonction en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s'avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l'utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction ` QString::operator+=()`.
QString &QString::operator+=(const char *str)
Ajoute la chaîne « str » à cette chaîne. Le pointeur const char est converti en Unicode à l'aide de la fonction fromUtf8().
Vous pouvez désactiver cette fonction en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction QString::operator+=().
[noexcept] QString &QString::operator=(QString &&other)
Cette opération attribue l'other à cette instance QString.
[noexcept] QString &QString::operator=(const QString &other)
Attribue la valeur « other » à cette chaîne et renvoie une référence à celle-ci.
QString &QString::operator=(QChar ch)
Définit la chaîne de caractères de manière à ce qu'elle contienne le caractère unique « ch ».
Cette fonction surcharge la méthode QString::operator=().
QString &QString::operator=(QLatin1StringView str)
Attribue la chaîne Latin-1 gérée par ` str ` à cette chaîne.
Cette fonction surcharge la méthode ` QString::operator=()`.
QString &QString::operator=(const QByteArray &ba)
Attribue la valeur « ba » à cette chaîne. Le tableau d'octets est converti en Unicode à l'aide de la fonction fromUtf8().
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la méthode QString::operator=().
QString &QString::operator=(const char *str)
Attribue la valeur « str » à cette chaîne. Le pointeur `const char` est converti en Unicode à l'aide de la fonction ` fromUtf8()`.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` ou ` QT_RESTRICTED_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction QString::operator=().
QChar &QString::operator[](qsizetype position)
Renvoie le caractère situé à l'position e indiquée dans la chaîne sous forme de référence modifiable.
Exemple :
Voir aussi at().
const QChar QString::operator[](qsizetype position) const
Cette fonction surcharge la méthode ` QString::operator[]()`.
Éléments non membres associés
[since 6.1] template <typename T> qsizetype erase(QString &s, const T &t)
Supprime tous les éléments de la chaîne « s » qui sont égaux à « t ». Renvoie le nombre d'éléments supprimés, le cas échéant.
Cette fonction a été introduite dans Qt 6.1.
Voir aussi erase_if.
[since 6.1] template <typename Predicate> qsizetype erase_if(QString &s, Predicate pred)
Supprime de la chaîne « s » tous les éléments pour lesquels le prédicat « pred » renvoie « true ». Renvoie le nombre d'éléments supprimés, le cas échéant.
Cette fonction a été introduite dans Qt 6.1.
Voir également erase.
[noexcept] bool operator!=(const QByteArray &lhs, const QString &rhs)
Renvoie « true » si le tableau d'octets lhs n'est pas égal à l'encodage UTF-8 de rhs; sinon, renvoie « false ».
La comparaison tient compte de la casse.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Vous devrez alors appeler explicitement ` QString::fromUtf8()`, ` QString::fromLatin1()` ou ` QString::fromLocal8Bit()` si vous souhaitez convertir le tableau d’octets en une chaîne de caractères ` QString ` avant d’effectuer la comparaison.
[noexcept] bool operator!=(const QString &lhs, const QString &rhs)
Renvoie « true » si la chaîne « lhs » n'est pas égale à la chaîne « rhs » ; sinon, renvoie « false ».
Voir également Comparing Strings.
[noexcept] bool operator!=(const char *const &lhs, const QString &rhs)
Renvoie « true » si « lhs » n'est pas égal à « rhs » ; sinon, renvoie « false ».
Pour lhs!= 0, cela équivaut à compare( lhs , rhs ) != 0 . Notez qu’aucune chaîne n’est égale à lhs lorsque vaut 0.
[noexcept] bool operator!=(const QString &lhs, const QByteArray &rhs)
Le tableau d’octets rhs est converti en un QUtf8StringView. Si des caractères NUL («\0 ») sont présents dans le tableau d’octets, ils seront inclus dans la transformation.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s'avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l'utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la méthode QString::operator!=().
[noexcept] bool operator!=(const QString &lhs, const QLatin1StringView &rhs)
Renvoie ` true ` si la chaîne ` lhs ` n'est pas égale à la chaîne ` rhs`. Sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator!=().
[noexcept] bool operator!=(const QString &lhs, const char *const &rhs)
Le pointeur `const char` de type ` rhs ` est converti en ` QUtf8StringView`.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction QString::operator!=().
[noexcept, since 6.4] QString operator""_s(const char16_t *str, size_t size)
Opérateur littéral qui crée un « QString » à partir des size premiers caractères de la chaîne littérale de type char16_t str.
L’ QString est créé au moment de la compilation, et les données de chaîne générées sont stockées dans le segment en lecture seule du fichier objet compilé. Des littéraux en double peuvent partager la même mémoire en lecture seule. Cette fonctionnalité est interchangeable avec QStringLiteral, mais permet de gagner du temps de saisie lorsque de nombreux littéraux de chaîne sont présents dans le code.
Le code suivant crée un « QString » :
using namespace Qt::StringLiterals;
auto str = u"hello"_s;Cette fonction a été introduite dans Qt 6.4.
Voir également ` Qt::Literals::StringLiterals`.
QString operator+(QString &&s1, const QString &s2)
QString operator+(const QString &s1, const QString &s2)
Renvoie une chaîne de caractères résultant de la concaténation de s1 et s2.
[since 6.9] QString operator+(QStringView lhs, const QString &rhs)
[since 6.9] QString operator+(const QString &lhs, QStringView rhs)
Renvoie une chaîne de caractères résultant de la concaténation de lhs et rhs.
Ces fonctions ont été introduites dans Qt 6.9.
QString operator+(const QString &s1, const char *s2)
Renvoie une chaîne de caractères résultant de la concaténation de s1 et s2 (s2 est converti en Unicode à l'aide de la fonction QString::fromUtf8()).
Voir également QString::fromUtf8().
QString operator+(const char *s1, const QString &s2)
Renvoie une chaîne de caractères résultant de la concaténation de s1 et s2 (s1 est converti en Unicode à l'aide de la fonction QString::fromUtf8()).
Voir également QString::fromUtf8().
[noexcept] bool operator<(const QByteArray &lhs, const QString &rhs)
Renvoie « true » si le tableau d'octets lhs est lexicalement inférieur à l'encodage UTF-8 de rhs; sinon, renvoie « false ».
La comparaison tient compte de la casse.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Vous devrez alors appeler explicitement ` QString::fromUtf8()`, ` QString::fromLatin1()` ou ` QString::fromLocal8Bit()` si vous souhaitez convertir le tableau d’octets en une chaîne de caractères ` QString ` avant d’effectuer la comparaison.
[noexcept] bool operator<(const char *const &lhs, const QString &rhs)
Renvoie « true » si « lhs » est lexicalement inférieur à « rhs » ; sinon, renvoie « false ». Pour « lhs » != 0, cela équivaut à « compare(lhs, rhs) < 0 ».
Voir aussi Comparing Strings.
[noexcept] bool operator<(const QLatin1StringView &lhs, const QString &rhs)
Renvoie ` true ` si ` lhs ` est lexicalement inférieur à ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator<().
[noexcept] bool operator<(const QString &lhs, const QByteArray &rhs)
Le tableau d'octets rhs est converti en un QUtf8StringView. Si des caractères NUL («\0 ») sont intégrés dans le tableau d'octets, ils seront inclus dans la transformation.
Vous pouvez désactiver cet opérateur QT_NO_CAST_FROM_ASCII lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par QObject::tr(), par exemple.
Cette fonction surcharge la méthode QString::operator<().
[noexcept] bool operator<(const QString &lhs, const QLatin1StringView &rhs)
Renvoie ` true ` si ` lhs ` est lexicalement inférieur à ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator<().
[noexcept] bool operator<(const QString &lhs, const QString &rhs)
Renvoie ` true ` si la chaîne ` lhs ` est lexicalement inférieure à la chaîne ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator<().
Voir également Comparing Strings.
[noexcept] bool operator<(const QString &lhs, const char *const &rhs)
Renvoie ` true ` si la chaîne ` lhs ` est lexicalement inférieure à la chaîne ` rhs`. Sinon, renvoie ` false`.
Le pointeur const char de rhs est converti en QUtf8StringView.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction QString::operator<().
QDataStream &operator<<(QDataStream &stream, const QString &string)
Écrit l'string s fournies dans le fichier stream spécifié.
Voir également Sérialisation des types de données Qt.
[noexcept] bool operator<=(const QByteArray &lhs, const QString &rhs)
Renvoie « true » si le tableau d'octets lhs est lexicalement inférieur ou égal à l'encodage UTF-8 de rhs; sinon, renvoie « false ».
La comparaison tient compte de la casse.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Vous devrez alors appeler explicitement ` QString::fromUtf8()`, ` QString::fromLatin1()` ou ` QString::fromLocal8Bit()` si vous souhaitez convertir le tableau d’octets en une chaîne de caractères ` QString ` avant d’effectuer la comparaison.
[noexcept] bool operator<=(const QString &lhs, const QString &rhs)
Renvoie « true » si la chaîne « lhs » est lexicalement inférieure ou égale à la chaîne « rhs » ; sinon, renvoie « false ».
Voir également Comparing Strings.
[noexcept] bool operator<=(const char *const &lhs, const QString &rhs)
Renvoie « true » si « lhs » est lexicalement inférieur ou égal à « rhs » ; sinon, renvoie « false ». Lorsque « lhs » != 0, cela équivaut à « compare(lhs, rhs) <= 0 ».
Voir également Comparing Strings.
[noexcept] bool operator<=(const QLatin1StringView &lhs, const QString &rhs)
Renvoie ` true ` si ` lhs ` est lexicalement inférieur ou égal à ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator<=().
[noexcept] bool operator<=(const QString &lhs, const QByteArray &rhs)
Le tableau d'octets « rhs » est converti en un « QUtf8StringView ». Si des caractères NUL («\0 ») sont présents dans le tableau d'octets, ils seront inclus dans la transformation.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s'avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l'utilisateur passent par ` QObject::tr()` (par exemple).
Cette fonction surcharge la méthode QString::operator<=().
[noexcept] bool operator<=(const QString &lhs, const QLatin1StringView &rhs)
Renvoie ` true ` si ` lhs ` est lexicalement inférieur ou égal à ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator<=().
[noexcept] bool operator<=(const QString &lhs, const char *const &rhs)
Le pointeur `const char` de type ` rhs ` est converti en ` QUtf8StringView`.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction QString::operator<=().
[noexcept] bool operator==(const QByteArray &lhs, const QString &rhs)
Renvoie « true » si le tableau d'octets lhs est égal à l'encodage UTF-8 de rhs; sinon, renvoie « false ».
La comparaison tient compte de la casse.
Vous pouvez désactiver cet opérateur en définissant QT_NO_CAST_FROM_ASCII lors de la compilation de vos applications. Vous devrez alors appeler explicitement QString::fromUtf8(), QString::fromLatin1() ou QString::fromLocal8Bit() si vous souhaitez convertir le tableau d’octets en une chaîne de caractères QString avant d’effectuer la comparaison.
[noexcept] bool operator==(const QLatin1StringView &lhs, const QString &rhs)
Renvoie ` true ` si ` lhs ` est égal à ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator==().
[noexcept] bool operator==(const QString &lhs, const QByteArray &rhs)
Le tableau d'octets « rhs » est converti en un « QUtf8StringView ».
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Renvoie true si la chaîne lhs est lexicalement égale à rhs. Sinon, renvoie false.
Cette fonction surcharge la méthode QString::operator==().
[noexcept] bool operator==(const QString &lhs, const QLatin1StringView &rhs)
Renvoie « true » si « lhs » est égal à « rhs » ; sinon, renvoie « false ».
Cette fonction surcharge la méthode QString::operator==().
[noexcept] bool operator==(const QString &lhs, const QString &rhs)
Renvoie « true » si la chaîne « lhs » est égale à la chaîne « rhs » ; sinon, renvoie « false ».
Remarque : cette fonction traite les chaînes nulles de la même manière que les chaînes vides ; pour plus de détails, voir Distinction Between Null and Empty Strings.
Cette fonction surcharge la fonction QString::operator==().
Voir également Comparing Strings.
[noexcept] bool operator==(const QString &lhs, const char *const &rhs)
Le pointeur `const char` de type ` rhs ` est converti en ` QUtf8StringView`.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction QString::operator==().
[noexcept] bool operator==(const char *const &lhs, const QString &rhs)
Renvoie « true » si « lhs » est égal à « rhs » ; sinon, renvoie « false ». Notez qu'aucune chaîne n'est égale à « lhs » lorsque cette valeur est égale à 0.
Équivalent à ` lhs != 0 && compare(lhs, rhs) == 0`.
Cette fonction surcharge QString::operator==().
[noexcept] bool operator>(const QByteArray &lhs, const QString &rhs)
Renvoie « true » si le tableau d'octets lhs est lexicalement supérieur au codage UTF-8 de rhs; sinon, renvoie « false ».
La comparaison tient compte de la casse.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Vous devrez alors appeler explicitement ` QString::fromUtf8()`, ` QString::fromLatin1()` ou ` QString::fromLocal8Bit()` si vous souhaitez convertir le tableau d’octets en une chaîne de caractères ` QString ` avant d’effectuer la comparaison.
[noexcept] bool operator>(const QString &lhs, const QString &rhs)
Renvoie « true » si la chaîne « lhs » est lexicalement supérieure à la chaîne « rhs » ; sinon, renvoie « false ».
Voir également Comparing Strings.
[noexcept] bool operator>(const char *const &lhs, const QString &rhs)
Renvoie « true » si « lhs » est lexicalement supérieur à « rhs » ; sinon, renvoie « false ». Équivalent à « compare(lhs, rhs) > 0 ».
Voir également Comparing Strings.
[noexcept] bool operator>(const QLatin1StringView &lhs, const QString &rhs)
Renvoie ` true ` si ` lhs ` est lexicalement supérieur à ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator>().
[noexcept] bool operator>(const QString &lhs, const QByteArray &rhs)
Le tableau d'octets « rhs » est converti en « QUtf8StringView ». Si des caractères NUL («\0 ») sont présents dans le tableau d'octets, ils seront inclus dans la transformation.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la méthode QString::operator>().
[noexcept] bool operator>(const QString &lhs, const QLatin1StringView &rhs)
Renvoie ` true ` si ` lhs ` est lexicalement supérieur à ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator>().
[noexcept] bool operator>(const QString &lhs, const char *const &rhs)
Le pointeur `const char` de type ` rhs ` est converti en ` QUtf8StringView`.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s'avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l'utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge QString::operator>().
[noexcept] bool operator>=(const QByteArray &lhs, const QString &rhs)
Renvoie « true » si le tableau d'octets lhs est supérieur ou égal à l'encodage UTF-8 de rhs; sinon, renvoie « false ».
La comparaison tient compte de la casse.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Vous devrez alors appeler explicitement ` QString::fromUtf8()`, ` QString::fromLatin1()` ou ` QString::fromLocal8Bit()` si vous souhaitez convertir le tableau d’octets en un ` QString ` avant d’effectuer la comparaison.
[noexcept] bool operator>=(const QString &lhs, const QString &rhs)
Renvoie « true » si la chaîne « lhs » est lexicalement supérieure ou égale à la chaîne « rhs » ; sinon, renvoie « false ».
Voir également Comparing Strings.
[noexcept] bool operator>=(const char *const &lhs, const QString &rhs)
Renvoie « true » si « lhs » est lexicalement supérieur ou égal à « rhs » ; sinon, renvoie « false ». Lorsque « lhs » ≠ 0, cela équivaut à « compare(lhs, rhs) >= 0 ».
Voir également Comparing Strings.
[noexcept] bool operator>=(const QLatin1StringView &lhs, const QString &rhs)
Renvoie ` true ` si ` lhs ` est lexicalement supérieur ou égal à ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator>=().
[noexcept] bool operator>=(const QString &lhs, const QByteArray &rhs)
Le tableau d'octets « rhs » est converti en « QUtf8StringView ». Si des caractères NUL («\0 ») sont présents dans le tableau d'octets, ils seront inclus dans la transformation.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s’avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l’utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la méthode ` QString::operator>=()`.
[noexcept] bool operator>=(const QString &lhs, const QLatin1StringView &rhs)
Renvoie ` true ` si ` lhs ` est lexicalement supérieur ou égal à ` rhs` ; sinon, renvoie ` false`.
Cette fonction surcharge la méthode QString::operator>=().
[noexcept] bool operator>=(const QString &lhs, const char *const &rhs)
Le pointeur `const char` de type ` rhs ` est converti en ` QUtf8StringView`.
Vous pouvez désactiver cet opérateur en définissant ` QT_NO_CAST_FROM_ASCII ` lors de la compilation de vos applications. Cela peut s'avérer utile si vous souhaitez vous assurer que toutes les chaînes visibles par l'utilisateur passent par ` QObject::tr()`, par exemple.
Cette fonction surcharge la fonction QString::operator>=().
QDataStream &operator>>(QDataStream &stream, QString &string)
Lit une chaîne à partir de l'stream spécifiée et la stocke dans l'string indiquée.
Voir également Sérialisation des types de données Qt.
Documentation sur les macros
QStringLiteral(str)
La macro génère les données d’une QString à partir de la chaîne littérale str au moment de la compilation. La création d’un QString à partir de celle-ci est gratuite dans ce cas, et les données de chaîne générées sont stockées dans le segment en lecture seule du fichier objet compilé.
Si votre code se présente comme suit :
// hasAttribute takes a QString argument
if (node.hasAttribute("http-contents-length")) {
//...
}alors un QString temporaire sera créé pour être passé en paramètre à la fonction hasAttribute. Cela peut s’avérer assez coûteux, car cela implique une allocation de mémoire ainsi que la copie/conversion des données vers l’encodage interne de QString.
Ce coût peut être évité en utilisant QStringLiteral à la place :
if (node.hasAttribute(QStringLiteral(u"http-contents-length"))){
//...
}Dans ce cas, les données internes de ` QString` seront générées lors de la compilation ; aucune conversion ni allocation n'aura lieu lors de l'exécution.
L'utilisation de QStringLiteral à la place d'une chaîne littérale C++ simple entre guillemets doubles peut accélérer considérablement la création d'instances d'QString à partir de données connues au moment de la compilation.
Remarque : ` QLatin1StringView ` peut tout de même s’avérer plus efficace que `QStringLiteral` lorsque la chaîne est transmise à une fonction disposant d’une surcharge acceptant ` QLatin1StringView ` et que cette surcharge évite la conversion en ` QString`. Par exemple, `QString::operator==()` peut comparer directement une chaîne à ` QLatin1StringView ` :
if (attribute.name() == "http-contents-length"_L1){
//...
}Remarque : certains compilateurs présentent des bogues lors de l’encodage de chaînes contenant des caractères hors du jeu de caractères US-ASCII. Dans ce cas, veillez à préfixer votre chaîne avec u. Sinon, cela est facultatif.
Remarque : QStringLiteral est interchangeable avec operator""_s. Ce dernier permet de gagner du temps lors de la saisie lorsque le code contient de nombreuses chaînes littérales.
Voir également QByteArrayLiteral.
QT_NO_CAST_FROM_ASCII
Désactive les conversions automatiques des chaînes de caractères 8 bits (char *) vers des QStrings Unicode, ainsi que des types char s 8 bits (char et unsigned char) vers des QChar.
Voir également QT_NO_CAST_TO_ASCII, QT_RESTRICTED_CAST_FROM_ASCII et QT_NO_CAST_FROM_BYTEARRAY.
QT_NO_CAST_TO_ASCII
Désactive la conversion automatique des chaînes « QString » en chaînes 8 bits (char *).
Voir également QT_NO_CAST_FROM_ASCII, QT_RESTRICTED_CAST_FROM_ASCII et QT_NO_CAST_FROM_BYTEARRAY.
QT_RESTRICTED_CAST_FROM_ASCII
Désactive la plupart des conversions automatiques des littéraux source et des données 8 bits vers des QStrings Unicode, mais autorise l’utilisation des constructeurs QChar(char) et QString(const char (&ch)[N], ainsi que l’opérateur d’affectation QString::operator=(const char (&ch)[N]). Cela offre la plupart des avantages en matière de sécurité des types de QT_NO_CAST_FROM_ASCII, sans pour autant exiger que le code utilisateur encapsule les littéraux de caractères et de chaînes à l’aide de QLatin1Char, QLatin1StringView ou d’équivalents.
L'utilisation de cette macro avec des chaînes source hors de la plage des 7 bits, des éléments non littéraux ou des littéraux contenant des caractères NUL n'est pas définie.
Voir également QT_NO_CAST_FROM_ASCII et QT_NO_CAST_TO_ASCII.
const char *qPrintable(const QString &str)
Renvoie ` str ` sous la forme ` const char *`. Cela équivaut à ` str`. `toLocal8Bit()`. `constData()`.
Le pointeur char ne sera plus valide après l'instruction dans laquelle qPrintable() est utilisé. En effet, le tableau renvoyé par QString::toLocal8Bit() sortira de la portée.
Remarque : les fonctions qDebug(), qInfo(), qWarning(), qCritical() et qFatal() s’attendent à ce que les arguments %s soient encodés en UTF-8, tandis que qPrintable() effectue une conversion vers l’encodage 8 bits local. Par conséquent, il convient d’utiliser qUtf8Printable() plutôt que qPrintable() pour l’enregistrement des chaînes de caractères.
Voir également qUtf8Printable().
const wchar_t *qUtf16Printable(const QString &str)
Renvoie str sous la forme d'un const ushort *, mais converti en const wchar_t * pour éviter les avertissements. Cela équivaut à str.utf16() suivi de quelques conversions.
La seule chose utile que vous puissiez faire avec la valeur de retour de cette macro est de la transmettre à ` QString::asprintf()` pour l'utiliser dans une conversion ` %ls `. En particulier, la valeur de retour n' est pas un ` const wchar_t*` valide !
En général, le pointeur sera invalide après l'instruction dans laquelle qUtf16Printable() est utilisée. En effet, le pointeur peut avoir été obtenu à partir d'une expression temporaire, qui sortira de la portée.
Exemple :
qWarning("%ls: %ls", qUtf16Printable(key), qUtf16Printable(value));Voir également qPrintable(), qDebug(), qInfo(), qWarning(), qCritical() et qFatal().
const char *qUtf8Printable(const QString &str)
Renvoie ` str ` sous la forme d'un ` const char *`. Cela équivaut à ` str`. `toUtf8()`. `constData()`.
Le pointeur char ne sera plus valide après l'instruction dans laquelle qUtf8Printable() est utilisé. En effet, le tableau renvoyé par QString::toUtf8() sortira de la portée.
Exemple :
qWarning("%s: %s", qUtf8Printable(key), qUtf8Printable(value));Voir également qPrintable(), qDebug(), qInfo(), qWarning(), qCritical() et qFatal().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.