QString Class
Die Klasse QString liefert eine Unicode-Zeichenkette. Mehr...
Kopfzeile: | #include <QString> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- Liste aller Mitglieder, einschließlich vererbter Mitglieder
- Ausgeschiedene Mitglieder
- QString ist Teil von Implicitly Shared Classes und Classes for String Data.
Diese Klasse ist stark vergleichbar.
Diese Klasse ist stark vergleichbar mit QChar, QLatin1StringView, const char16_t *, QStringView, und QUtf8StringView.
Diese Klasse ist gut vergleichbar mit QByteArray, QByteArrayView und const char *.
Beim Vergleich mit Byte-Arrays wird deren Inhalt als utf-8 interpretiert.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Typen
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 |
Öffentliche Funktionen
QString() | |
QString(QChar ch) | |
QString(QLatin1StringView str) | |
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 &andere) | |
QString(QString &&andere) | |
~QString() | |
QString & | append(const QString &str) |
QString & | append(QChar ch) |
QString & (const QString &) | append(QLatin1StringView str) |
(since 6.0) QString & (QStringView v) | append(QStringView v) |
(since 6.5) QString & | append(QUtf8StringView str) |
QString & | append(const QByteArray &ba) |
QString & (const QByteArray &ba) | append(const char *str) |
QString & | append(const QChar *str, qsizetype len) |
QString | arg(Args &&... args) const |
QString | arg(const QString&a, int fieldWidth = 0, QChar fillChar = u' ') const |
QString | arg(QChar a, int fieldWidth = 0, QChar fillChar = u' ') const |
QString | arg(QLatin1StringView a, int fieldWidth = 0, QChar fillChar = u' ') const |
QString | arg(QStringView a, int fieldWidth = 0, QChar fillChar = u' ') const |
QString | arg(char a, int fieldWidth = 0, QChar fillChar = u' ') const |
QString | arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
QString | arg(long a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
QString | arg(qlonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
QString | arg(qulonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
QString | arg(short a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
QString | arg(uint a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
QString | arg(ulong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
QString | arg(ushort a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const |
QString | arg(double 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() konst |
QString::Iterator | begin() |
QString::const_iterator | begin() Konstante |
qsizetype | capacity() konst |
QString::const_iterator | cbegin() const |
QString::const_iterator | cend() konst |
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 QRegularAusdruck &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 |
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 & (qsizetype position, QChar ch) | 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 Größe) |
bool | isEmpty() const |
bool | isLower() const |
bool | isNull() konst |
bool | isRightToLeft() konst |
bool | isUpper() konst |
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 von, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
QString | left(qsizetype n) && |
QString | left(qsizetype n) const & |
QString | leftJustified(qsizetype Breite, QChar fill = u' ', bool truncate = false) const |
qsizetype | length() const |
(since 6.0) int | localeAwareCompare(QStringView andere) const |
int | localeAwareCompare(const QString &andere) 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 |
QString & | prepend(const QString &str) |
QString & | prepend(QChar ch) |
QString & (const QString &) | prepend(QLatin1StringView str) |
(since 6.0) QString & (QStringView str) | 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 &andere) |
void | push_back(QChar ch) |
void | push_front(konst. QString &andere) |
void | push_front(QChar ch) |
QString::reverse_iterator | rbegin() |
QString::const_reverse_iterator | rbegin() Konstante |
QString &. | remove(const QRegularExpression &re) |
QString & | remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
QString & (const 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ädikat pred) |
(since 6.5) QString & | removeLast() |
QString::reverse_iterator | rend() |
QString::const_reverse_iterator | rend() Konstante |
QString | repeated(qsizetype mal) const |
QString & | replace(qsizetype position, qsizetype n, const QString &after) |
QString & (const QRegularExpression) | 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 &after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
QString & | replace(QLatin1StringView before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
QString & | replace(QLatin1StringView vorher, const QString &nachher, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
QString & | replace(const QString &before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
QString & | replace(const QString &before, const QString &after, 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 newSize, QChar fillChar) |
(since 6.8) void | resizeForOverwrite(qsizetype Größe) |
QString | right(qsizetype n) && |
QString | right(qsizetype n) const & |
QString | rightJustified(qsizetype Breite, 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 Basis = 10) |
QString & | setNum(qulonglong n, int Basis = 10) |
QString & | setNum(short n, int Basis = 10) |
QString & | setNum(uint n, int Basis = 10) |
QString & | setNum(ulong n, int base = 10) |
QString & | setNum(ushort n, int base = 10) |
QString & | setNum(double n, char format = 'g', int Genauigkeit = 6) |
QString & | setNum(float n, char Format = 'g', int Genauigkeit = 6) |
QString & (const QChar *unic) | setRawData(const QChar *unicode, qsizetype size) |
QString & (const QChar *unicode, qsizetype size) | setUnicode(konst. QChar *unicode, qsizetype size) |
QString & (const QChar *unicode, qsizetype size) | setUtf16(const ushort *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 &andere) |
CFStringRef | toCFString() const |
QString | toCaseFolded() konst |
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 |
kurz | 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 |
const ushort * | utf16() const |
(since 6.7) std::u16string_view | operator std::u16string_view() const |
QString & | operator+=(const QString &andere) |
QString & | operator+=(QChar ch) |
QString & (const QStringView str) | operator+=(QLatin1StringView str) |
(since 6.0) QString & (QStringView str) | operator+=(QStringView str) |
(since 6.5) QString & | operator+=(QUtf8StringView str) |
QString & | operator+=(const QByteArray &ba) |
QString & | operator+=(const char *str) |
QString & | operator=(QString &&andere) |
QString & | operator=(const QString &andere) |
QString & | operator=(QChar ch) |
QString & | operator=(QLatin1StringView str) |
QString & | operator=(const QByteArray &ba) |
QString & (const QByteArray &ba) | operator=(const char *str) |
QChar & | operator[](qsizetype Position) |
const QChar | operator[](qsizetype Position) const |
Statische öffentliche Mitglieder
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) |
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) |
Verwandte Nicht-Mitglieder
(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) |
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) |
Makros
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) |
Detaillierte Beschreibung
QString speichert eine Zeichenkette aus 16-Bit QChars, wobei jede QChar einer UTF-16-Codeeinheit entspricht. (Unicode-Zeichen mit Codewerten über 65535 werden unter Verwendung von Surrogatpaaren gespeichert, d. h. zwei aufeinanderfolgenden QChars.)
Unicode ist ein internationaler Standard, der die meisten der heute gebräuchlichen Schriftsysteme unterstützt. Er ist eine Obermenge von US-ASCII (ANSI X3.4-1986) und Latin-1 (ISO 8859-1), und alle US-ASCII/Latin-1-Zeichen sind an denselben Codepositionen verfügbar.
Hinter den Kulissen verwendet QString implizites Sharing (copy-on-write), um den Speicherverbrauch zu reduzieren und das unnötige Kopieren von Daten zu vermeiden. Dies hilft auch, den Overhead zu reduzieren, der durch die Speicherung von 16-Bit-Zeichen anstelle von 8-Bit-Zeichen entsteht.
Zusätzlich zu QString bietet Qt auch die Klasse QByteArray zum Speichern von Rohbytes und traditionellen 8-Bit-Strings mit '\0'-Terminierung. Für die meisten Zwecke ist QString die Klasse, die Sie verwenden sollten. Sie wird in der gesamten Qt-API verwendet, und die Unicode-Unterstützung stellt sicher, dass Ihre Anwendungen leicht zu übersetzen sind, wenn Sie den Markt Ihrer Anwendung irgendwann einmal erweitern möchten. Zwei prominente Fälle, in denen QByteArray geeignet ist, sind, wenn Sie binäre Rohdaten speichern müssen, und wenn Speichererhaltung kritisch ist (wie in eingebetteten Systemen).
Initialisierung einer Zeichenkette
Eine Möglichkeit, einen QString zu initialisieren, ist die Übergabe einer const char *
an seinen Konstruktor. Der folgende Code erzeugt zum Beispiel einen QString der Größe 5, der die Daten "Hello" enthält:
QString str = "Hello";
QString konvertiert die Daten von const char *
mit der Funktion fromUtf8() in Unicode.
In allen QString-Funktionen, die const char *
Parameter annehmen, wird const char *
als klassischer '\\0'
-terminierter String im C-Stil interpretiert. Sofern der Name der Funktion nicht offenkundig eine andere Kodierung angibt, wird angenommen, dass solche const char *
Parameter in UTF-8 kodiert sind.
Sie können Zeichenkettendaten auch als Array von QCharbereitstellen:
QString legt eine Kopie der QChar Daten an, so dass Sie diese später ändern können, ohne dass es zu Seiteneffekten kommt. Sie können die Erstellung einer tiefen Kopie der Zeichendaten vermeiden, indem Sie stattdessen QStringView oder QString::fromRawData() verwenden.
Ein anderer Ansatz besteht darin, die Größe der Zeichenkette mit resize() festzulegen und die Daten zeichenweise zu initialisieren. QString verwendet 0-basierte Indizes, genau wie C++ Arrays. Um auf das Zeichen an einer bestimmten Indexposition zuzugreifen, können Sie operator[]() verwenden. Bei Strings, die nichtconst
sind, gibt operator[]() eine Referenz auf ein Zeichen zurück, das auf der linken Seite einer Zuweisung verwendet werden kann. Zum Beispiel:
QString str; str.resize(4); str[0] = QChar('U'); str[1] = QChar('n'); str[2] = QChar(0x10e3); str[3] = QChar(0x03a3);
Für den Nur-Lese-Zugriff ist eine alternative Syntax die Verwendung der Funktion 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]"; }
Die Funktion at() kann schneller sein als operator[](), da sie nie eine Tiefenkopie auslöst. Alternativ können Sie auch die Funktionen first(), last() oder sliced() verwenden, um mehrere Zeichen auf einmal zu extrahieren.
Ein QString kann '\0' Zeichen einbetten (QChar::Null). Die Funktion size() gibt immer die Größe des gesamten Strings zurück, einschließlich der eingebetteten '\0'-Zeichen.
Nach einem Aufruf der Funktion resize() haben neu zugewiesene Zeichen undefinierte Werte. Um alle Zeichen der Zeichenkette auf einen bestimmten Wert zu setzen, verwenden Sie die Funktion fill().
QString bietet Dutzende von Überladungen, um die Verwendung von Strings zu vereinfachen. Wenn Sie zum Beispiel einen QString mit einem String-Literal vergleichen wollen, können Sie Code wie den folgenden schreiben und es wird wie erwartet funktionieren:
QString str; if (str == "auto" || str == "extern" || str == "static" || str == "register") { // ... }
Sie können auch String-Literale an Funktionen übergeben, die QStrings als Argumente annehmen, indem Sie den QString(const char *) Konstruktor aufrufen. Ebenso können Sie einen QString an eine Funktion übergeben, die ein const char *
Argument annimmt, indem Sie das Makro qPrintable() verwenden, das den angegebenen QString als const char *
zurückgibt. Dies entspricht dem Aufruf von <QString>.toLocal8Bit().constData().
Manipulation von String-Daten
QString bietet die folgenden grundlegenden Funktionen zur Änderung der Zeichendaten: append(), prepend(), insert(), replace() und remove(). Ein Beispiel:
QString str = "and"; str.prepend("rock "); // str == "rock and" str.append(" roll"); // str == "rock and roll" str.replace(5, 3, "&"); // str == "rock & roll"
Im obigen Beispiel sind die ersten beiden Argumente der Funktion replace() die Position, an der mit dem Ersetzen begonnen werden soll, und die Anzahl der Zeichen, die ersetzt werden sollen.
Wenn datenverändernde Funktionen die Größe der Zeichenkette erhöhen, kann QString den Speicher, in dem es seine Daten hält, neu zuweisen. Wenn dies geschieht, expandiert QString um mehr, als es unmittelbar benötigt, um Platz für weitere Expansion ohne Neuzuweisung zu haben, bis die Größe der Zeichenkette signifikant gestiegen ist.
Die Funktionen insert(), remove() und - beim Ersetzen eines Teilstrings durch einen String anderer Größe - replace() können bei großen Strings langsam sein(lineare Zeit), da sie das Verschieben vieler Zeichen im String um mindestens eine Position im Speicher erfordern.
Wenn Sie einen QString schrittweise aufbauen und im Voraus ungefähr wissen, wie viele Zeichen der QString enthalten wird, können Sie reserve() aufrufen und QString bitten, eine bestimmte Menge an Speicher vorzubelegen. Sie können auch capacity() aufrufen, um herauszufinden, wie viel Speicher dem QString tatsächlich zugewiesen wurde.
QString bietet Iteratoren im STL-Stil (QString::const_iterator und QString::iterator). In der Praxis sind Iteratoren praktisch, wenn man mit generischen Algorithmen arbeitet, die von der C++-Standardbibliothek bereitgestellt werden.
Hinweis: Iteratoren über einen QString und Verweise auf einzelne Zeichen innerhalb eines QString können nicht als gültig angesehen werden, wenn eine andere Methode alsconst
des QString aufgerufen wird. Der Zugriff auf einen solchen Iterator oder Verweis nach dem Aufruf einer nichtconst
Methode führt zu undefiniertem Verhalten. Wenn Stabilität für Iterator-ähnliche Funktionalität erforderlich ist, sollten Sie Indizes anstelle von Iteratoren verwenden, da diese nicht an den internen Zustand von QString gebunden sind und daher nicht ungültig werden.
Hinweis: Aufgrund der impliziten gemeinsamen Nutzung kann der erste nichtconst
Operator oder die erste Funktion, die auf einen gegebenen QString angewendet wird, dazu führen, dass dieser intern eine tiefe Kopie seiner Daten durchführt. Dadurch werden alle Iteratoren über den String und Verweise auf einzelne Zeichen innerhalb des Strings ungültig. Rufen Sie keine Nicht-Konst-Funktionen auf, während Sie Iteratoren behalten. Der Zugriff auf einen Iterator oder Verweis, nachdem er ungültig gemacht wurde, führt zu undefiniertem Verhalten. Weitere Informationen finden Sie im Abschnitt Implizites Sharing-Iterator-Problem.
Eine häufige Anforderung ist es, die Abstände zwischen sichtbaren Zeichen in einer Zeichenkette zu entfernen oder zu vereinfachen. Die Zeichen, die diese Abstände bilden, sind diejenigen, für die isSpace() true
zurückgibt, wie das einfache Leerzeichen ' '
, der horizontale Tabulator '\\t'
und der Zeilenumbruch '\\n'
. Um eine Kopie einer Zeichenkette zu erhalten, bei der alle Abstände zwischen Anfang und Ende weggelassen werden, verwenden Sie trimmed(). Um auch jede Folge von Leerzeichen innerhalb der Zeichenkette durch ein einfaches Leerzeichen ' '
zu ersetzen, verwenden Sie simplified().
Wenn Sie alle Vorkommen eines bestimmten Zeichens oder einer Teilzeichenkette in einem QString finden wollen, verwenden Sie die Funktionen indexOf() oder lastIndexOf(). Erstere sucht vorwärts, letztere rückwärts. Beiden kann eine Indexposition mitgeteilt werden, an der die Suche beginnen soll. Beide geben die Indexposition des Zeichens oder der Teilzeichenkette zurück, wenn sie es finden; andernfalls geben sie -1 zurück. Hier ist zum Beispiel eine typische Schleife, die alle Vorkommen einer bestimmten Teilzeichenkette findet:
QString str = "Wir müssen <b>fett</b> sein, sehr <b>fett</b>"; qsizetype j = 0;while ((j = str.indexOf("<b>", j)) !=-1) { qDebug() << "Found <b> tag at index position" << j; ++j; }
QString bietet viele Funktionen zur Umwandlung von Zahlen in Strings und von Strings in Zahlen. Siehe die arg()-Funktionen, die setNum()-Funktionen, die statischen number()-Funktionen und die toInt(), toDouble() und ähnliche Funktionen.
Um eine Version einer Zeichenkette in Groß- oder Kleinbuchstaben zu erhalten, verwenden Sie toUpper() oder toLower().
Listen von Zeichenketten werden von der Klasse QStringList verarbeitet. Mit der Funktion split() können Sie eine Zeichenkette in eine Liste von Zeichenketten aufteilen und mit QStringList::join() eine Liste von Zeichenketten zu einer einzigen Zeichenkette mit einem optionalen Trennzeichen zusammenfügen. Sie können aus einer String-Liste eine gefilterte Liste erhalten, indem Sie die Einträge auswählen, die eine bestimmte Teilzeichenkette enthalten oder mit einer bestimmten QRegularExpression übereinstimmen. Siehe QStringList::filter() für Details.
Abfrage von Zeichenkettendaten
Um zu sehen, ob ein QString mit einer bestimmten Teilzeichenkette beginnt oder endet, verwenden Sie startsWith() oder endsWith(). Um zu prüfen, ob ein QString ein bestimmtes Zeichen oder eine Teilzeichenkette enthält, verwenden Sie die Funktion contains(). Um herauszufinden, wie oft ein bestimmtes Zeichen oder eine Teilzeichenkette in einem String vorkommt, verwenden Sie count().
Um einen Zeiger auf die eigentlichen Zeichendaten zu erhalten, rufen Sie data() oder constData() auf. Diese Funktionen geben einen Zeiger auf den Anfang der Daten von QChar zurück. Der Zeiger bleibt garantiert gültig, bis eine andere Funktion alsconst
für den QString aufgerufen wird.
Vergleich von Strings
QStrings können mit überladenen Operatoren wie operator<(), operator<=(), operator==(), operator>=(), usw. verglichen werden. Der Vergleich basiert ausschließlich auf der lexikographischen Reihenfolge der beiden Strings, die als Sequenzen von UTF-16-Codeeinheiten betrachtet werden. Er ist sehr schnell, aber nicht das, was ein Mensch erwarten würde; die Funktion QString::localeAwareCompare() ist in der Regel die bessere Wahl für die Sortierung von Zeichenketten für die Benutzeroberfläche, wenn ein solcher Vergleich verfügbar ist.
Wenn Qt mit der ICU-Bibliothek gelinkt ist (was in der Regel der Fall ist), wird deren ortsabhängige Sortierung verwendet. Andernfalls werden plattformspezifische Lösungen verwendet:
- Unter Windows verwendet localeAwareCompare() das aktuelle Benutzergebietsschema, wie es in den Optionen regional und language von Control Panel festgelegt ist.
- Unter macOS und iOS vergleicht localeAwareCompare() gemäß der Einstellung Order for sorted lists im Bedienfeld International preferences.
- Auf anderen Unix-ähnlichen Systemen greift der Vergleich auf die
strcoll()
der Systembibliothek zurück.
Konvertierung zwischen kodierten String-Daten und QString
QString bietet die folgenden Funktionen, die eine const char *
Version des Strings als QByteArray zurückgeben: toUtf8(), toLatin1(), und toLocal8Bit().
- toLatin1() gibt einen Latin-1 (ISO 8859-1) kodierten 8-Bit-String zurück.
- toUtf8() gibt eine UTF-8-kodierte 8-Bit-Zeichenkette zurück. UTF-8 ist eine Obermenge von US-ASCII (ANSI X3.4-1986), die den gesamten Unicode-Zeichensatz durch Multibyte-Sequenzen unterstützt.
- toLocal8Bit() gibt eine 8-Bit-Zeichenfolge unter Verwendung der lokalen Kodierung des Systems zurück. Dies ist dasselbe wie toUtf8() auf Unix-Systemen.
Um von einer dieser Kodierungen zu konvertieren, bietet QString fromLatin1(), fromUtf8() und fromLocal8Bit(). Andere Kodierungen werden durch die Klassen QStringEncoder und QStringDecoder unterstützt.
Wie bereits erwähnt, bietet QString eine Vielzahl von Funktionen und Operatoren, die das Zusammenspiel mit const char *
Strings erleichtern. Aber diese Funktionalität ist ein zweischneidiges Schwert: Es macht QString bequemer zu benutzen, wenn alle Strings US-ASCII oder Latin-1 sind, aber es besteht immer das Risiko, dass eine implizite Konvertierung von oder nach const char *
unter Verwendung der falschen 8-Bit-Kodierung durchgeführt wird. Um diese Risiken zu minimieren, können Sie diese impliziten Konvertierungen ausschalten, indem Sie einige der folgenden Präprozessorsymbole definieren:
- QT_NO_CAST_FROM_ASCII schaltet die automatische Konvertierung von C-String-Literalen und Zeigern nach Unicode aus.
- QT_RESTRICTED_CAST_FROM_ASCII erlaubt die automatische Konvertierung von C-Zeichen und Zeichenarrays, deaktiviert aber die automatische Konvertierung von Zeichenzeigern in Unicode.
- QT_NO_CAST_TO_ASCII deaktiviert die automatische Konvertierung von QString in C-Strings.
Sie müssen dann explizit fromUtf8(), fromLatin1() oder fromLocal8Bit() aufrufen, um einen QString aus einem 8-Bit-String zu konstruieren, oder die leichtgewichtige Klasse QLatin1StringView verwenden. Zum Beispiel:
QString url = "https://www.unicode.org/"_L1;
In ähnlicher Weise müssen Sie toLatin1(), toUtf8() oder toLocal8Bit() explizit aufrufen, um den QString in einen 8-Bit-String zu konvertieren.
Hinweis für C-Programmierer |
---|
Aufgrund des Typsystems von C++ und der Tatsache, dass QString implizit gemeinsam genutzt wird, können QStrings wie int oder andere Basistypen behandelt werden. Zum Beispiel:QString Widget::boolToString(bool b) { QString result; if (b) result = "True"; else result = "False"; return result; } Die Variable |
Unterscheidung zwischen null und leeren Strings
Aus historischen Gründen unterscheidet QString zwischen null und leeren Strings. Ein Null-String ist ein String, der mit dem Standardkonstruktor von QString oder durch Übergabe von nullptr
an den Konstruktor initialisiert wird. Ein leerer String ist ein beliebiger String mit der Größe 0. Ein Null-String ist immer leer, aber ein leerer String ist nicht notwendigerweise null:
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 false
Alle Funktionen außer isNull() behandeln Null-Strings genauso wie leere Strings. Zum Beispiel toUtf8().constData() gibt einen gültigen Zeiger (nicht nullptr
) auf ein '\0'-Zeichen für eine Null-Zeichenkette zurück. Wir empfehlen Ihnen, immer die Funktion isEmpty() zu verwenden und isNull() zu vermeiden.
Zahlenformate
Wenn eine QString::arg() '%'
Formatangabe den 'L'
Gebietsschema-Qualifikator enthält und die Basis 10 ist (Standard), wird das Standardgebietsschema verwendet. Dies kann mit QLocale::setDefault() eingestellt werden. Für eine verfeinerte Kontrolle von lokalisierten String-Darstellungen von Zahlen siehe QLocale::toString(). Alle anderen Zahlenformatierungen, die von QString vorgenommen werden, folgen der Darstellung von Zahlen in der C-Sprachumgebung.
Wenn QString::arg() einen Links-Padding auf Zahlen anwendet, wird das Füllzeichen '0'
speziell behandelt. Wenn die Zahl negativ ist, erscheint ihr Minuszeichen vor dem Null-Padding. Wenn das Feld lokalisiert ist, wird das lokal passende Nullzeichen anstelle von '0'
verwendet. Für Fließkommazahlen gilt diese Sonderbehandlung nur, wenn die Zahl endlich ist.
Fließkommaformate
In Mitgliedsfunktionen (z. B. arg() und number()), die Fließkommazahlen (float
oder double
) als Zeichenketten formatieren, kann die verwendete Darstellung durch die Wahl von Format und Genauigkeit gesteuert werden, deren Bedeutung wie bei QLocale::toString(double, char, int) ist.
Wenn das gewählte Format einen Exponenten enthält, folgen lokalisierte Formen der Konvention des Gebietsschemas für Ziffern im Exponenten. Bei nicht-lokalisierter Formatierung zeigt der Exponent sein Vorzeichen und enthält mindestens zwei Ziffern, die bei Bedarf mit Nullen aufgefüllt werden.
Effizientere String-Konstruktion
Viele Zeichenketten sind bereits zur Kompilierzeit bekannt. Der QString-Konstruktor von C++-Stringliteralen kopiert den Inhalt der Zeichenkette, wobei der Inhalt als UTF-8 behandelt wird. Dies erfordert eine Speicherzuweisung und eine Neucodierung der Zeichenkettendaten, Operationen, die erst zur Laufzeit durchgeführt werden. Wenn die Stringdaten zur Kompilierzeit bekannt sind, können Sie stattdessen das Makro QStringLiteral oder ähnlich operator""_s
verwenden, um die Nutzdaten von QString zur Kompilierzeit zu erstellen.
Mit dem QString '+'
Operator ist es einfach, einen komplexen String aus mehreren Teilstrings zu konstruieren. Sie werden oft Code wie diesen schreiben:
QString foo; QString type = "long"; foo = "vector<"_L1 + type + ">::iterator"_L1; if (foo.startsWith("(" + type + ") 0x")) ...
An beiden String-Konstruktionen ist nichts auszusetzen, aber es gibt ein paar versteckte Unzulänglichkeiten:
Erstens kann die wiederholte Verwendung des '+'
-Operators zu mehrfachen Speicherzuweisungen führen. Bei der Verkettung von n Teilstrings, wobei n > 2 ist, kann es zu n - 1 Aufrufen der Speicherzuweisung kommen.
Diese Zuweisungen können durch eine interne Klasse QStringBuilder
optimiert werden. Diese Klasse ist als intern gekennzeichnet und erscheint nicht in der Dokumentation, da Sie sie in Ihrem Code nicht instanziieren sollen. Ihre Verwendung erfolgt automatisch, wie unten beschrieben. Die Klasse ist unter src/corelib/tools/qstringbuilder.cpp
zu finden, falls Sie einen Blick auf sie werfen wollen.
QStringBuilder
verwendet Ausdrucksvorlagen und implementiert den Operator '%'
neu, so dass bei der Verwendung von '%'
für die String-Verkettung anstelle von '+'
mehrere Teilstring-Verkettungen aufgeschoben werden, bis das Endergebnis einem QString zugewiesen werden soll. Zu diesem Zeitpunkt ist die für das Endergebnis benötigte Speichermenge bekannt. Der Speicherallokator wird dann einmal aufgerufen, um den benötigten Speicherplatz zu erhalten, und die Teilzeichenketten werden eine nach der anderen in den Speicher kopiert.
Zusätzliche Effizienz wird durch Inlining und die Verringerung der Referenzzählung erreicht (der aus einem QStringBuilder
erzeugte QString hat eine Referenzzählung von 1, während QString::append() einen zusätzlichen Test benötigt).
Es gibt zwei Möglichkeiten, wie Sie auf diese verbesserte Methode der String-Konstruktion zugreifen können. Der einfache Weg besteht darin, QStringBuilder
überall dort einzubinden, wo Sie es verwenden wollen, und den '%'
Operator anstelle von '+'
bei der Verkettung von Strings zu verwenden:
#include <QStringBuilder> QString hello("hello"); QStringView el = QStringView{ hello }.mid(2, 3); QLatin1StringView world("world"); QString message = hello % el % world % QChar('!');
Ein globalerer Ansatz, der zwar bequemer, aber nicht vollständig quellkompatibel ist, besteht darin, QT_USE_QSTRINGBUILDER
(durch Hinzufügen zu den Compiler-Flags) zur Erstellungszeit zu definieren. Dadurch wird die Verkettung von Zeichenketten mit '+'
genauso funktionieren wie QStringBuilder's
'%'
.
Hinweis: Die Verwendung der automatischen Typerkennung (z.B. mit dem Schlüsselwort auto
) mit dem Ergebnis der String-Verkettung bei aktiviertem QStringBuilder zeigt, dass die Verkettung tatsächlich ein Objekt einer QStringBuilder-Spezialisierung ist:
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"; };
Dies verursacht keinen Schaden, da QStringBuilder bei Bedarf implizit in QString konvertiert. Wenn dies unerwünscht ist, sollte man die notwendigen Typen angeben, anstatt sie vom Compiler ableiten zu lassen:
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"; };
Maximale Größe und Out-of-Memory-Bedingungen
Die maximale Größe von QString hängt von der Architektur ab. Die meisten 64-Bit-Systeme können mehr als 2 GB Speicher zuweisen, mit einer typischen Grenze von 2^63 Bytes. Der tatsächliche Wert hängt auch von dem für die Verwaltung des Datenblocks erforderlichen Overhead ab. Daher können Sie auf 32-Bit-Plattformen mit einer maximalen Größe von 2 GB abzüglich des Overheads und auf 64-Bit-Plattformen mit 2^63 Byte abzüglich des Overheads rechnen. Die Anzahl der Elemente, die in einem QString gespeichert werden können, ist diese maximale Größe geteilt durch die Größe von QChar.
Wenn die Speicherzuweisung fehlschlägt, löst QString eine std::bad_alloc
Ausnahme aus, wenn die Anwendung mit Ausnahmeunterstützung kompiliert wurde. Speicherplatzmangel in Qt-Containern ist der einzige Fall, in dem Qt eine Exception auslöst. Wenn Ausnahmen deaktiviert sind, dann ist das Auslaufen des Speichers ein undefiniertes Verhalten.
Hinweis: Zielbetriebssysteme können Beschränkungen für die Gesamtspeicherkapazität einer Anwendung oder für die Größe einzelner Speicherzuweisungen auferlegen. Dies kann die Größe der Zeichenkette, die ein QString enthalten kann, weiter einschränken. Die Abschwächung oder Kontrolle des Verhaltens, das diese Beschränkungen verursachen, liegt außerhalb des Rahmens der Qt API.
Siehe auch fromRawData(), QChar, QStringView, QLatin1StringView, und QByteArray.
Dokumentation der Membertypen
QString::ConstIterator
Qt-style ist ein Synonym für QString::const_iterator.
QString::Iterator
Qt-style ist ein Synonym für QString::iterator.
enum QString::NormalizationForm
Diese Aufzählung beschreibt die verschiedenen normalisierten Formen von Unicode-Text.
Konstante | Wert | Beschreibung |
---|---|---|
QString::NormalizationForm_D | 0 | Kanonische Dekomposition |
QString::NormalizationForm_C | 1 | Kanonische Dekomposition, gefolgt von kanonischer Komposition |
QString::NormalizationForm_KD | 2 | Kompatibilitäts-Zerlegung |
QString::NormalizationForm_KC | 3 | Kompatibilitätsdekomposition gefolgt von kanonischer Komposition |
Siehe auch normalized() und Unicode Standard Annex #15.
enum QString::SectionFlag
flags QString::SectionFlags
Diese Aufzählung gibt Flags an, die verwendet werden können, um verschiedene Aspekte des Verhaltens der Funktion section() in Bezug auf Trennzeichen und leere Felder zu beeinflussen.
Konstante | Wert | Beschreibung |
---|---|---|
QString::SectionDefault | 0x00 | Leere Felder werden gezählt, führende und nachfolgende Trennzeichen werden nicht berücksichtigt, und das Trennzeichen wird unter Berücksichtigung der Groß- und Kleinschreibung verglichen. |
QString::SectionSkipEmpty | 0x01 | Leere Felder werden so behandelt, als ob sie nicht existierten, d. h. sie werden nicht berücksichtigt, soweit es um Anfang und Ende geht. |
QString::SectionIncludeLeadingSep | 0x02 | Das führende Trennzeichen (falls vorhanden) wird in die Ergebniszeichenfolge aufgenommen. |
QString::SectionIncludeTrailingSep | 0x04 | Das hintere Trennzeichen (falls vorhanden) in die Ergebniszeichenfolge aufnehmen. |
QString::SectionCaseInsensitiveSeps | 0x08 | Vergleichen Sie das Trennzeichen case-insensitiv. |
Der Typ SectionFlags ist ein Typedef für QFlags<SectionFlag>. Er speichert eine OR-Kombination von SectionFlag-Werten.
Siehe auch section().
QString::const_iterator
Siehe auch QString::iterator.
QString::const_pointer
Der QString::const_pointer Typedef bietet einen STL-ähnlichen const-Zeiger auf ein QString Element (QChar).
QString::const_reference
QString::const_reverse_iterator
Siehe auch QString::reverse_iterator und QString::const_iterator.
QString::difference_type
QString::iterator
Siehe auch QString::const_iterator.
QString::pointer
Der QString::pointer Typedef bietet einen STL-artigen Zeiger auf ein QString Element (QChar).
QString::reference
QString::reverse_iterator
Siehe auch QString::const_reverse_iterator und QString::iterator.
QString::size_type
QString::value_type
Dokumentation der Mitgliederfunktionen
Gibt eine Teilzeichenkette zurück, die die n äußersten linken Zeichen der Zeichenkette enthält.
Wenn Sie wissen, dass n nicht außerhalb der Grenzen liegen kann, verwenden Sie stattdessen first() in neuem Code, da dies schneller ist.
Die gesamte Zeichenkette wird zurückgegeben, wenn n größer oder gleich size() oder kleiner als Null ist.
Siehe auch first(), last(), startsWith(), chopped(), chop(), und truncate().
Gibt eine Teilzeichenkette zurück, die die n äußersten rechten Zeichen der Zeichenkette enthält.
Wenn Sie wissen, dass n nicht außerhalb der Grenzen liegen kann, verwenden Sie stattdessen last() in neuem Code, da dies schneller ist.
Die gesamte Zeichenkette wird zurückgegeben, wenn n größer oder gleich size() oder kleiner als Null ist.
Siehe auch endsWith(), last(), first(), sliced(), chopped(), chop(), truncate(), und slice().
QString QString::mid(qsizetype position, qsizetype n = -1) &&
QString QString::mid(qsizetype position, qsizetype n = -1) const &
Gibt eine Zeichenkette zurück, die n Zeichen dieser Zeichenkette enthält, beginnend mit dem angegebenen Index position.
Wenn Sie wissen, dass position und n nicht außerhalb der Grenzen liegen können, verwenden Sie stattdessen sliced() in neuem Code, da dies schneller ist.
Gibt eine Null-Zeichenkette zurück, wenn der Index position die Länge der Zeichenkette überschreitet. Wenn in der Zeichenkette ab dem angegebenen position weniger als n Zeichen verfügbar sind, oder wenn n -1 ist (Voreinstellung), gibt die Funktion alle Zeichen zurück, die ab dem angegebenen position verfügbar sind.
Siehe auch first(), last(), sliced(), chopped(), chop(), truncate(), und slice().
[since 6.0]
QString QString::first(qsizetype n) &&
[since 6.0]
QString QString::first(qsizetype n) const &
Gibt eine Zeichenkette zurück, die die ersten n Zeichen dieser Zeichenkette enthält.
Hinweis: Das Verhalten ist undefiniert, wenn n < 0 oder n > size().
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch last(), sliced(), startsWith(), chopped(), chop(), truncate(), und slice().
[since 6.0]
QString QString::last(qsizetype n) &&
[since 6.0]
QString QString::last(qsizetype n) const &
Gibt die Zeichenkette zurück, die die letzten n Zeichen dieser Zeichenkette enthält.
Hinweis: Das Verhalten ist undefiniert, wenn n < 0 oder n > size().
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch first(), sliced(), endsWith(), chopped(), chop(), truncate(), und slice().
[since 6.0]
QString QString::sliced(qsizetype pos, qsizetype n) &&
[since 6.0]
QString QString::sliced(qsizetype pos, qsizetype n) const &
Gibt eine Zeichenkette zurück, die n Zeichen dieser Zeichenkette enthält, beginnend an der Position pos.
Hinweis: Das Verhalten ist undefiniert, wenn pos < 0, n < 0, oder pos + n > size().
QString x = "Nine pineapples"; QString y = x.sliced(5, 4); // y == "pine" QString z = x.sliced(5); // z == "pineapples"
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch first(), last(), chopped(), chop(), truncate(), und slice().
[since 6.0]
QString QString::sliced(qsizetype pos) &&
[since 6.0]
QString QString::sliced(qsizetype pos) const &
Dies ist eine überladene Funktion.
Gibt eine Zeichenkette zurück, die den Teil dieser Zeichenkette enthält, der an der Position pos beginnt und bis zu ihrem Ende reicht.
Hinweis: Das Verhalten ist undefiniert, wenn pos < 0 oder pos > size().
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch first(), last(), chopped(), chop(), truncate(), und slice().
Gibt eine Zeichenkette zurück, die die size() - len äußersten linken Zeichen dieser Zeichenkette enthält.
Hinweis: Das Verhalten ist undefiniert, wenn len negativ oder größer als size() ist.
Siehe auch endsWith(), first(), last(), sliced(), chop(), truncate(), und slice().
[static constexpr noexcept, since 6.8]
qsizetype QString::maxSize()
[constexpr noexcept, since 6.8]
qsizetype QString::max_size() const
Sie gibt die maximale Anzahl von Elementen zurück, die die Zeichenkette theoretisch enthalten kann. In der Praxis kann die Anzahl viel kleiner sein, begrenzt durch den dem System zur Verfügung stehenden Speicher.
Diese Funktion wurde in Qt 6.8 eingeführt.
template <typename... Args> QString QString::arg(Args &&... args) const
Ersetzt alle Vorkommen von %N
in dieser Zeichenfolge durch das entsprechende Argument aus args. Die Argumente sind nicht positionsabhängig: das erste der args ersetzt das %N
durch das niedrigste N
(alle), das zweite der args das %N
durch das nächstniedrigere N
usw.
Args
kann aus allem bestehen, was sich implizit in QString, QStringView oder QLatin1StringView umwandeln lässt.
Darüber hinaus werden auch die folgenden Typen unterstützt: QChar, QLatin1Char.
Siehe auch QString::arg().
[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 &&
Teilt die Zeichenkette an allen Stellen, an denen sep vorkommt, in Teilzeichenketten auf und gibt eine "Lazy Sequence" dieser Zeichenketten zurück.
Äquivalent zu
return QStringTokenizer{std::forward<Needle>(sep), flags...};
mit dem Unterschied, dass es ohne die im Compiler aktivierte C++17 Class Template Argument Deduction (CTAD) funktioniert.
Siehe QStringTokenizer, um zu erfahren, wie sep und flags zusammenwirken, um das Ergebnis zu bilden.
Hinweis: Obwohl diese Funktion QStringTokenizer zurückgibt, sollten Sie ihre Template-Argumente niemals explizit benennen. Wenn Sie C++17 Class Template Argument Deduction (CTAD) verwenden können, können Sie
QStringTokenizer result = sv.tokenize(sep);
(ohne Schablonenargumente) schreiben. Wenn Sie C++17 CTAD nicht verwenden können, dürfen Sie den Rückgabewert nur in auto
Variablen speichern:
auto result = sv.tokenize(sep);
Das liegt daran, dass die Template-Argumente von QStringTokenizer eine sehr subtile Abhängigkeit von der spezifischen tokenize()-Überladung haben, von der sie zurückgegeben werden, und sie entsprechen normalerweise nicht dem Typ, der für das Trennzeichen verwendet wird.
Diese Funktion wurde in Qt 6.0 eingeführt.
Hinweis: (1) ist noexcept, wenn noexcept(qTokenize(std::declval<QString>(), std::forward<Needle>(needle), flags...))
true
ist.
Hinweis: (2) ist noexcept, wenn noexcept(qTokenize(std::declval<const QString &>(), std::forward<Needle>(needle), flags...))
gleich true
ist.
Hinweis: (3) ist noexcept, wenn noexcept(qTokenize(std::declval<const QString>(), std::forward<Needle>(needle), flags...))
gleich true
ist.
Siehe auch QStringTokenizer und qTokenize().
[constexpr noexcept]
QString::QString()
Konstruiert eine Null-Zeichenkette. Null-Zeichenfolgen werden auch als leer betrachtet.
Siehe auch isEmpty(), isNull(), und Distinction Between Null and Empty Strings.
QString::QString(QChar ch)
Konstruiert eine Zeichenkette der Größe 1, die das Zeichen ch enthält.
QString::QString(QLatin1StringView str)
Konstruiert eine Kopie der Latin-1-Zeichenkette, die von str angezeigt wird.
Siehe auch fromLatin1().
QString::QString(const QByteArray &ba)
Konstruiert einen String, der mit dem Byte-Array ba initialisiert wird. Das angegebene Byte-Array wird mit fromUtf8() in Unicode konvertiert.
Sie können diesen Konstruktor deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z.B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten QObject::tr() durchlaufen.
Hinweis: Alle Null-Bytes ('\0') im Byte-Array werden in diesen String aufgenommen und in Unicode-Null-Zeichen (U+0000) umgewandelt. Dieses Verhalten ist anders als in Qt 5.x.
Siehe auch fromLatin1(), fromLocal8Bit(), und fromUtf8().
QString::QString(const char *str)
Konstruiert einen String, der mit der 8-Bit-Zeichenkette str initialisiert ist. Der angegebene const char-Zeiger wird mit der Funktion fromUtf8() in Unicode konvertiert.
Sie können diesen Konstruktor deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z.B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten QObject::tr() durchlaufen.
Hinweis: Die Definition von QT_RESTRICTED_CAST_FROM_ASCII deaktiviert diesen Konstruktor ebenfalls, aktiviert aber stattdessen einen QString(const char (&ch)[N])
Konstruktor. Die Verwendung von nicht-literalen Eingaben oder Eingaben mit eingebetteten NUL-Zeichen oder Nicht-7-Bit-Zeichen ist in diesem Fall undefiniert.
Siehe auch fromLatin1(), fromLocal8Bit(), und fromUtf8().
[since 6.1]
QString::QString(const char8_t *str)
Konstruiert einen String, der mit dem UTF-8-String str initialisiert ist. Der angegebene const char8_t Zeiger wird mit der Funktion fromUtf8() in Unicode konvertiert.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch fromLatin1(), fromLocal8Bit(), und fromUtf8().
[explicit]
QString::QString(const QChar *unicode, qsizetype size = -1)
Konstruiert eine Zeichenkette, die mit den ersten size Zeichen des Arrays QChar unicode initialisiert wird.
Wenn unicode gleich 0 ist, wird eine Null-Zeichenkette erstellt.
Ist size negativ, wird angenommen, dass unicode auf ein \0'-abgeschlossenes Array zeigt und dessen Länge dynamisch bestimmt wird. Das abschließende Nullzeichen wird nicht als Teil des Strings betrachtet.
QString erstellt eine Tiefenkopie der Stringdaten. Die Unicodedaten werden unverändert kopiert und die Byte Order Mark wird beibehalten, falls vorhanden.
Siehe auch fromRawData().
QString::QString(qsizetype size, QChar ch)
Konstruiert eine Zeichenkette mit dem angegebenen size, wobei jedes Zeichen auf ch gesetzt wird.
Siehe auch fill().
[noexcept]
QString::QString(const QString &other)
Konstruiert eine Kopie von other.
Dieser Vorgang benötigt konstante Zeit, da QString implizit gemeinsam genutzt wird. Das macht die Rückgabe eines QString aus einer Funktion sehr schnell. Wenn eine gemeinsam genutzte Instanz geändert wird, wird sie kopiert (copy-on-write), was lineare Zeit benötigt.
Siehe auch operator=().
[noexcept]
QString::QString(QString &&other)
Move-konstruiert eine QString-Instanz, die auf das gleiche Objekt zeigt, auf das other gezeigt hat.
[noexcept]
QString::~QString()
Zerstört die Zeichenkette.
QString &QString::append(const QString &str)
Hängt die Zeichenfolge str an das Ende dieser Zeichenfolge an.
Beispiel:
Dies ist dasselbe wie die Funktion insert():
x.insert(x.size(), y);
Die Funktion append() ist in der Regel sehr schnell(konstante Zeit), da QString zusätzlichen Platz am Ende der Zeichenkette reserviert, so dass sie wachsen kann, ohne jedes Mal die gesamte Zeichenkette neu zu reservieren.
Siehe auch operator+=(), prepend(), und insert().
QString &QString::append(QChar ch)
Diese Funktion überlädt append().
Hängt das Zeichen ch an diese Zeichenkette an.
QString &QString::append(QLatin1StringView str)
Diese Funktion überlastet append().
Hängt die Latin-1-Zeichenkette, die von str angezeigt wird, an diese Zeichenkette an.
[since 6.0]
QString &QString::append(QStringView v)
Diese Funktion überlädt append().
Hängt die angegebene String-Ansicht v an diesen String an und gibt das Ergebnis zurück.
Diese Funktion wurde in Qt 6.0 eingeführt.
[since 6.5]
QString &QString::append(QUtf8StringView str)
Diese Funktion überlastet append().
Hängt die UTF-8-String-Ansicht str an diesen String an.
Diese Funktion wurde in Qt 6.5 eingeführt.
QString &QString::append(const QByteArray &ba)
Diese Funktion überlädt append().
Hängt das Byte-Array ba an diesen String an. Das angegebene Byte-Array wird mit der Funktion fromUtf8() in Unicode konvertiert.
Sie können diese Funktion deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z.B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Strings durch QObject::tr() laufen.
QString &QString::append(const char *str)
Diese Funktion überlädt append().
Hängt die Zeichenkette str an diese Zeichenkette an. Der angegebene const char-Zeiger wird mit der Funktion fromUtf8() in Unicode konvertiert.
Sie können diese Funktion deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z.B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten QObject::tr() durchlaufen.
QString &QString::append(const QChar *str, qsizetype len)
Diese Funktion überlastet append().
Hängt len Zeichen aus dem Array QChar str an diese Zeichenkette an.
QString QString::arg(const QString &a, int fieldWidth = 0, QChar fillChar = u' ') const
Gibt eine Kopie dieser Zeichenkette zurück, bei der die niedrigste nummerierte Platzmarkierung durch die Zeichenkette a ersetzt wird, d.h. %1
, %2
, ..., %99
.
fieldWidth gibt an, wie viel Platz das Argument a mindestens einnehmen soll. Wenn a weniger Platz benötigt als fieldWidth, wird es mit dem Zeichen fillChar auf fieldWidth aufgefüllt. Ein positiver fieldWidth erzeugt rechtsbündigen Text. Ein negativer fieldWidth erzeugt linksbündigen Text.
Dieses Beispiel zeigt, wie eine Zeichenkette status
erstellt werden kann, um den Fortschritt bei der Verarbeitung einer Liste von Dateien zu melden:
QString i; // current file's number QString total; // number of files to process QString fileName; // current file's name QString status = QString("Processing file %1 of %2: %3") .arg(i).arg(total).arg(fileName);
Zuerst ersetzt arg(i)
%1
. Dann ersetzt arg(total)
%2
. Schließlich ersetzt arg(fileName)
%3
.
Ein Vorteil der Verwendung von arg() gegenüber asprintf() ist, dass sich die Reihenfolge der nummerierten Platzhalter ändern kann, wenn die Zeichenketten der Anwendung in andere Sprachen übersetzt werden, aber jeder arg() ersetzt immer noch den niedrigsten nummerierten, nicht ersetzten Platzhalter, unabhängig davon, wo er erscheint. Auch wenn die Ortsmarke %i
mehr als einmal in der Zeichenkette vorkommt, ersetzt arg() alle.
Wenn keine unersetzte Platzmarke mehr vorhanden ist, wird eine Warnmeldung ausgegeben und das Ergebnis ist undefiniert. Die Nummern der Ortsmarken müssen im Bereich von 1 bis 99 liegen.
QString QString::arg(QChar a, int fieldWidth = 0, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
QString QString::arg(QLatin1StringView a, int fieldWidth = 0, QChar fillChar = u' ') const
Dies ist eine überladene Funktion.
Gibt eine Kopie dieser Zeichenkette zurück, bei der der niedrigste Platzhalter durch die von a betrachtete Latin-1-Zeichenkette ersetzt wird, d.h. %1
, %2
, ..., %99
.
fieldWidth gibt an, wie viel Platz a mindestens beanspruchen soll. Benötigt a weniger Platz als fieldWidth, wird es mit dem Zeichen fillChar auf fieldWidth aufgefüllt. Ein positiver fieldWidth erzeugt rechtsbündigen Text. Ein negativer fieldWidth erzeugt linksbündigen Text.
Ein Vorteil der Verwendung von arg() gegenüber asprintf() ist, dass sich die Reihenfolge der nummerierten Platzhalter ändern kann, wenn die Zeichenketten der Anwendung in andere Sprachen übersetzt werden, aber jeder arg() ersetzt immer noch den niedrigsten nummerierten, nicht ersetzten Platzhalter, egal wo er erscheint. Auch wenn die Platzhalter %i
mehr als einmal in der Zeichenkette vorkommen, ersetzt arg() alle.
Wenn keine unersetzten Platzhalter übrig bleiben, wird eine Warnmeldung ausgegeben und das Ergebnis ist undefiniert. Die Nummern der Platzhalter müssen im Bereich von 1 bis 99 liegen.
QString QString::arg(QStringView a, int fieldWidth = 0, QChar fillChar = u' ') const
Dies ist eine überladene Funktion.
Gibt eine Kopie dieser Zeichenkette zurück, bei der die niedrigste Platzmarkierung durch die Zeichenkette a ersetzt wird, d.h. %1
, %2
, ..., %99
.
fieldWidth gibt den minimalen Platz an, den a einnehmen soll. Benötigt a weniger Platz als fieldWidth, wird es mit dem Zeichen fillChar an fieldWidth aufgefüllt. Ein positiver fieldWidth erzeugt rechtsbündigen Text. Ein negativer fieldWidth erzeugt linksbündigen Text.
Dieses Beispiel zeigt, wie eine Zeichenkette status
erstellt werden kann, um den Fortschritt bei der Verarbeitung einer Liste von Dateien zu melden:
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);
Zuerst ersetzt arg(i)
%1
. Dann ersetzt arg(total)
%2
. Schließlich ersetzt arg(fileName)
%3
.
Ein Vorteil der Verwendung von arg() gegenüber asprintf() ist, dass sich die Reihenfolge der nummerierten Platzhalter ändern kann, wenn die Zeichenketten der Anwendung in andere Sprachen übersetzt werden, aber jeder arg() ersetzt immer noch den niedrigsten nummerierten, nicht ersetzten Platzhalter, egal, wo er erscheint. Auch wenn die Platzhalter %i
mehr als einmal in der Zeichenkette vorkommen, ersetzt arg() alle.
Wenn keine unersetzten Platzhalter übrig bleiben, wird eine Warnmeldung ausgegeben und das Ergebnis ist undefiniert. Die Nummern der Platzhalter müssen im Bereich von 1 bis 99 liegen.
QString QString::arg(char a, int fieldWidth = 0, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
Das Argument a wird als ein Latin-1-Zeichen interpretiert.
QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
Das Argument a wird in der Basis base ausgedrückt, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss. Für andere Basen als 10 wird a als Ganzzahl ohne Vorzeichen behandelt.
fieldWidth gibt den minimalen Abstand an, um den a aufgefüllt und mit dem Zeichen fillChar gefüllt wird. Ein positiver Wert erzeugt rechtsbündigen Text; ein negativer Wert erzeugt linksbündigen Text.
Dem '%' kann ein 'L' folgen; in diesem Fall wird die Sequenz durch eine lokalisierte Darstellung von a ersetzt. Die Konvertierung verwendet das Standardgebietsschema, das durch QLocale::setDefault() festgelegt wurde. Wenn kein Standardgebietsschema angegeben wurde, wird das Systemgebietsschema verwendet. Das Flag 'L' wird ignoriert, wenn base nicht 10 ist.
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"
Siehe auch Number Formats.
QString QString::arg(long a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
fieldWidth gibt den Mindestabstand an, um den a aufgefüllt und mit dem Zeichen fillChar gefüllt wird. Ein positiver Wert erzeugt rechtsbündigen Text; ein negativer Wert erzeugt linksbündigen Text.
Das Argument a wird in der angegebenen base ausgedrückt, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss.
Dem '%' kann ein 'L' folgen; in diesem Fall wird die Sequenz durch eine lokalisierte Darstellung von a ersetzt. Die Konvertierung verwendet das Standardgebietsschema. Das Standardgebietsschema wird aus den Gebietsschemaeinstellungen des Systems beim Starten der Anwendung ermittelt. Sie kann mit QLocale::setDefault() geändert werden. Das Flag 'L' wird ignoriert, wenn base nicht 10 ist.
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"
Siehe auch Number Formats.
QString QString::arg(qlonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
fieldWidth gibt den Mindestabstand an, um den a aufgefüllt und mit dem Zeichen fillChar gefüllt wird. Ein positiver Wert erzeugt rechtsbündigen Text; ein negativer Wert erzeugt linksbündigen Text.
Das Argument base gibt die Basis an, die bei der Umwandlung der Ganzzahl a in eine Zeichenkette verwendet werden soll. Die Basis muss zwischen 2 und 36 liegen, wobei 8 oktale, 10 dezimale und 16 hexadezimale Zahlen ergibt.
Siehe auch Number Formats.
QString QString::arg(qulonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
fieldWidth gibt den Mindestabstand an, um den a aufgefüllt und mit dem Zeichen fillChar gefüllt wird. Ein positiver Wert erzeugt rechtsbündigen Text; ein negativer Wert erzeugt linksbündigen Text.
Das Argument base gibt die Basis an, die bei der Umwandlung der Ganzzahl a in eine Zeichenkette verwendet werden soll. base muss zwischen 2 und 36 liegen, wobei 8 oktale, 10 dezimale und 16 hexadezimale Zahlen ergibt.
Siehe auch Number Formats.
QString QString::arg(short a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
fieldWidth gibt den Mindestabstand an, um den a aufgefüllt und mit dem Zeichen fillChar gefüllt wird. Ein positiver Wert erzeugt rechtsbündigen Text; ein negativer Wert erzeugt linksbündigen Text.
Das Argument base gibt die Basis an, die bei der Umwandlung der Ganzzahl a in eine Zeichenkette verwendet werden soll. Die Basis muss zwischen 2 und 36 liegen, wobei 8 oktale, 10 dezimale und 16 hexadezimale Zahlen ergibt.
Siehe auch Number Formats.
QString QString::arg(uint a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
Das Argument base gibt die Basis an, die bei der Umwandlung der Ganzzahl a in eine Zeichenkette verwendet werden soll. Die Basis muss zwischen 2 und 36 liegen.
Siehe auch Number Formats.
QString QString::arg(ulong a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
fieldWidth gibt den Mindestabstand an, um den a aufgefüllt und mit dem Zeichen fillChar gefüllt wird. Ein positiver Wert erzeugt rechtsbündigen Text; ein negativer Wert erzeugt linksbündigen Text.
Das Argument base gibt die Basis an, die bei der Konvertierung der Ganzzahl a in eine Zeichenkette verwendet werden soll. Die Basis muss zwischen 2 und 36 liegen, wobei 8 oktale, 10 dezimale und 16 hexadezimale Zahlen ergibt.
Siehe auch Number Formats.
QString QString::arg(ushort a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
fieldWidth gibt den Mindestabstand an, um den a aufgefüllt und mit dem Zeichen fillChar gefüllt wird. Ein positiver Wert erzeugt rechtsbündigen Text; ein negativer Wert erzeugt linksbündigen Text.
Das Argument base gibt die Basis an, die bei der Umwandlung der Ganzzahl a in eine Zeichenkette verwendet werden soll. Die Basis muss zwischen 2 und 36 liegen, wobei 8 oktale, 10 dezimale und 16 hexadezimale Zahlen ergibt.
Siehe auch Number Formats.
QString QString::arg(double a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = u' ') const
Diese Funktion überlastet arg().
Das Argument a wird entsprechend den angegebenen format und precision formatiert. Siehe Floating-point Formats für Details.
fieldWidth gibt den minimalen Abstand an, um den a aufgefüllt und mit dem Zeichen fillChar gefüllt wird. Ein positiver Wert erzeugt rechtsbündigen Text; ein negativer Wert erzeugt linksbündigen Text.
double d = 12.34; QString str = QString("delta: %1").arg(d, 0, 'E', 3); // str == "delta: 1.234E+01"
Siehe auch QLocale::toString(), QLocale::FloatingPointPrecisionOption, und Number Formats.
[static]
QString QString::asprintf(const char *cformat, ...)
Erstellt auf sichere Weise eine formatierte Zeichenkette aus der Formatzeichenkette cformat und einer beliebigen Liste von Argumenten.
Die Formatzeichenkette unterstützt die Konvertierungsspezifizierer, Längenmodifikatoren und Flags, die von printf() in der Standard-C++-Bibliothek bereitgestellt werden. Die Zeichenfolge cformat und die Argumente %s
müssen in UTF-8 kodiert sein.
Hinweis: Die Escape-Sequenz %lc
erwartet ein Unicode-Zeichen des Typs char16_t
oder ushort
(wie von QChar::unicode() zurückgegeben). Die %ls
Escape-Sequenz erwartet einen Zeiger auf ein null-terminiertes Array von Unicode-Zeichen des Typs char16_t
oder ushort (wie von QString::utf16() zurückgegeben). Dies steht im Widerspruch zu printf() in der C++-Standardbibliothek, die %lc
für die Ausgabe von wchar_t und %ls
für die Ausgabe von wchar_t*
definiert. Außerdem kann es auf Plattformen, auf denen die Größe von wchar_t
nicht 16 Bit beträgt, zu Compiler-Warnungen kommen.
Warnung: Wir raten davon ab, QString::asprintf() in neuem Qt-Code zu verwenden. Verwenden Sie stattdessen QTextStream oder arg(), die beide nahtlos Unicode-Strings unterstützen und typsicher sind. Hier ist ein Beispiel, das QTextStream verwendet:
QString result; QTextStream(&result) << "pi = " << 3.14; // result == "pi = 3.14"
Für translations, insbesondere wenn die Zeichenkette mehr als eine Escape-Sequenz enthält, sollten Sie stattdessen die Funktion arg() verwenden. Dadurch kann die Reihenfolge der Ersetzungen vom Übersetzer gesteuert werden.
Siehe auch arg().
[since 6.6]
QString &QString::assign(QAnyStringView v)
Ersetzt den Inhalt dieser Zeichenfolge durch eine Kopie von v und gibt einen Verweis auf diese Zeichenfolge zurück.
Die Größe dieser Zeichenkette entspricht der Größe von v, konvertiert nach UTF-16 wie bei v.toString()
. Anders als QAnyStringView::toString() weist diese Funktion jedoch nur dann Speicher zu, wenn die geschätzte Größe die Kapazität dieses Strings übersteigt oder dieser String gemeinsam genutzt wird.
Diese Funktion wurde in Qt 6.6 eingeführt.
Siehe auch QAnyStringView::toString().
[since 6.6]
template <typename InputIterator, QString::if_compatible_iterator<InputIterator> = true> QString &QString::assign(InputIterator first, InputIterator last)
Ersetzt den Inhalt dieser Zeichenkette durch eine Kopie der Elemente im Iteratorbereich [first, last) und gibt eine Referenz auf diese Zeichenkette zurück.
Die Größe dieser Zeichenkette entspricht der dekodierten Länge der Elemente im Bereich [first, last), die nicht mit der Länge des Bereichs selbst übereinstimmen muss, da diese Funktion den Eingabezeichensatz transparent in UTF-16 umkodiert.
Diese Funktion weist nur dann Speicher zu, wenn die Anzahl der Elemente im Bereich oder, bei nicht UTF-16-kodierten Eingaben, die maximal mögliche Größe der resultierenden Zeichenkette die Kapazität dieser Zeichenkette übersteigt, oder wenn diese Zeichenkette gemeinsam genutzt wird.
Hinweis: Diese Funktionsüberladung nimmt nur an der Überladungsauflösung teil, wenn InputIterator
die Anforderungen eines LegacyInputIterators erfüllt und die value_type
von InputIterator
einer der folgenden Zeichentypen ist:
- QChar
- QLatin1Char
char
unsigned char
signed char
char8_t
char16_t
- (auf Plattformen, wie z. B. Windows, wo es sich um einen 16-Bit-Typ handelt)
wchar_t
char32_t
Hinweis: Das Verhalten ist undefiniert, wenn eines der Argumente ein Iterator in *this ist oder [first, last) kein gültiger Bereich ist.
Diese Funktion wurde in Qt 6.6 eingeführt.
[since 6.6]
QString &QString::assign(qsizetype n, QChar c)
Ersetzt den Inhalt dieser Zeichenkette durch n Kopien von c und gibt einen Verweis auf diese Zeichenkette zurück.
Die Größe dieser Zeichenkette ist gleich n, die nicht negativ sein darf.
Diese Funktion weist nur dann Speicher zu, wenn n die Kapazität dieses Strings überschreitet oder dieser String gemeinsam genutzt wird.
Diese Funktion wurde in Qt 6.6 eingeführt.
Siehe auch fill().
const QChar QString::at(qsizetype position) const
Gibt das Zeichen am angegebenen Index position in der Zeichenkette zurück.
position muss eine gültige Indexposition in der Zeichenkette sein (d. h. 0 <= position < size()).
Siehe auch operator[]().
QChar &QString::back()
Gibt einen Verweis auf das letzte Zeichen in der Zeichenkette zurück. Dasselbe wie operator[](size() - 1)
.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Warnung: Der Aufruf dieser Funktion bei einer leeren Zeichenkette führt zu undefiniertem Verhalten.
Siehe auch front(), at(), und operator[]().
QChar QString::back() const
Gibt das letzte Zeichen der Zeichenkette zurück. Dasselbe wie at(size() - 1)
.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Warnung: Der Aufruf dieser Funktion bei einer leeren Zeichenkette führt zu undefiniertem Verhalten.
Siehe auch front(), at(), und operator[]().
QString::iterator QString::begin()
Gibt einen Iterator im STL-Stil zurück, der auf das erste Zeichen der Zeichenkette zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch constBegin() und end().
QString::const_iterator QString::begin() const
Diese Funktion überlastet begin().
qsizetype QString::capacity() const
Gibt die maximale Anzahl von Zeichen zurück, die in der Zeichenkette gespeichert werden können, ohne eine Neuzuweisung zu erzwingen.
Der einzige Zweck dieser Funktion besteht darin, die Speichernutzung von QString fein abzustimmen. Im Allgemeinen werden Sie diese Funktion nur selten aufrufen müssen. Wenn Sie wissen wollen, wie viele Zeichen in der Zeichenkette enthalten sind, rufen Sie size() auf.
Hinweis: Eine statisch zugewiesene Zeichenkette meldet eine Kapazität von 0, auch wenn sie nicht leer ist.
Hinweis: Die Position des freien Speicherplatzes im zugewiesenen Speicherblock ist undefiniert. Mit anderen Worten, man sollte nicht davon ausgehen, dass sich der freie Speicher immer nach den initialisierten Elementen befindet.
Siehe auch reserve() und squeeze().
QString::const_iterator QString::cbegin() const
Gibt einen const STL-artigen Iterator zurück, der auf das erste Zeichen in der Zeichenkette zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch begin() und cend().
QString::const_iterator QString::cend() const
Gibt einen Iterator im Stil von const STL zurück, der direkt auf das letzte Zeichen in der Zeichenkette zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch cbegin() und end().
void QString::chop(qsizetype n)
Entfernt n Zeichen vom Ende der Zeichenkette.
Wenn n größer oder gleich size() ist, ist das Ergebnis eine leere Zeichenkette; wenn n negativ ist, entspricht dies der Übergabe von Null.
Beispiel:
QString str("LOGOUT\r\n"); str.chop(2); // str == "LOGOUT"
Wenn Sie Zeichen vom Anfang der Zeichenkette entfernen wollen, verwenden Sie stattdessen remove().
Siehe auch truncate(), resize(), remove(), und QStringView::chop().
void QString::clear()
Löscht den Inhalt der Zeichenkette und macht sie null.
Siehe auch resize() und isNull().
[static noexcept]
int QString::compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Vergleicht die Zeichenkette s1 mit der Zeichenkette s2 und gibt eine negative Ganzzahl zurück, wenn s1 kleiner als s2 ist, eine positive Ganzzahl, wenn sie größer als s2 ist, und Null, wenn sie gleich sind.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Der Vergleich unter Berücksichtigung der Groß- und Kleinschreibung basiert ausschließlich auf den numerischen Unicode-Werten der Zeichen und ist sehr schnell, entspricht aber nicht den Erwartungen eines Menschen. Erwägen Sie die Sortierung von für den Benutzer sichtbaren Zeichenketten mit 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 < 0
Hinweis: Diese Funktion behandelt Null-Zeichenfolgen genauso wie leere Zeichenfolgen, weitere Einzelheiten finden Sie unter Distinction Between Null and Empty Strings.
Siehe auch operator==(), operator<(), operator>(), und Comparing Strings.
[noexcept]
int QString::compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlädt compare().
Führt einen Vergleich von this mit ch durch, wobei die Groß- und Kleinschreibung beachtet wird cs.
[noexcept]
int QString::compare(QLatin1StringView other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet compare().
Dasselbe wie compare(*this, other, cs).
[noexcept]
int QString::compare(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlädt compare().
Führt einen Vergleich von this mit s durch, wobei die Groß- und Kleinschreibung beachtet wird cs.
[noexcept]
int QString::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet compare().
Vergleicht diese Zeichenkette lexikalisch mit der Zeichenkette other und gibt eine negative Ganzzahl zurück, wenn diese Zeichenkette kleiner als other ist, eine positive Ganzzahl, wenn sie größer als other ist, und Null, wenn sie gleich sind.
Dasselbe wie compare(*this, other, cs).
[static noexcept]
int QString::compare(QLatin1StringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlädt compare().
Führt einen Vergleich zwischen s1 und s2 durch, wobei die Groß- und Kleinschreibung beachtet wird cs.
[static noexcept]
int QString::compare(QStringView s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet compare().
[static noexcept]
int QString::compare(const QString &s1, QLatin1StringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlädt compare().
Führt einen Vergleich zwischen s1 und s2 durch, wobei die Groß- und Kleinschreibung beachtet wird cs.
[static noexcept]
int QString::compare(const QString &s1, QStringView s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet compare().
QString::const_iterator QString::constBegin() const
Gibt einen const STL-artigen Iterator zurück, der auf das erste Zeichen in der Zeichenkette zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch begin() und constEnd().
const QChar *QString::constData() const
Gibt einen Zeiger auf die in QString gespeicherten Daten zurück. Der Zeiger kann verwendet werden, um auf die Zeichen zuzugreifen, aus denen die Zeichenkette besteht.
Beachten Sie, dass der Zeiger nur so lange gültig ist, wie die Zeichenkette nicht geändert wird.
Hinweis: Die zurückgegebene Zeichenkette darf nicht '\0'-terminiert sein. Verwenden Sie size(), um die Länge des Arrays zu ermitteln.
Siehe auch data(), operator[](), und fromRawData().
QString::const_iterator QString::constEnd() const
Gibt einen Iterator im Stil von const STL zurück, der direkt auf das letzte Zeichen in der Zeichenkette zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch constBegin() und end().
bool QString::contains(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
Gibt true
zurück, wenn der reguläre Ausdruck re irgendwo in dieser Zeichenkette übereinstimmt; andernfalls wird false
zurückgegeben.
Wenn die Übereinstimmung erfolgreich ist und rmatch nicht nullptr
ist, werden die Ergebnisse der Übereinstimmung auch in das Objekt QRegularExpressionMatch geschrieben, auf das rmatch verweist.
Siehe auch QRegularExpression::match().
bool QString::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Gibt true
zurück, wenn diese Zeichenkette ein Vorkommen der Zeichenkette str enthält; andernfalls wird false
zurückgegeben.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Beispiel:
QString str = "Peter Pan"; str.contains("peter", Qt::CaseInsensitive); // returns true
Siehe auch indexOf() und count().
bool QString::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet contains().
Gibt true
zurück, wenn diese Zeichenkette ein Vorkommen des Zeichens ch enthält; andernfalls gibt sie false
zurück.
bool QString::contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet contains().
Gibt true
zurück, wenn diese Zeichenkette ein Vorkommen der Latin-1-Zeichenkette str enthält; andernfalls wird false
zurückgegeben.
[noexcept]
bool QString::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet contains().
Gibt true
zurück, wenn diese Zeichenkette ein Vorkommen der Zeichenkettenansicht str enthält; andernfalls gibt sie false
zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Siehe auch indexOf() und count().
qsizetype QString::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Gibt die Anzahl der (sich möglicherweise überschneidenden) Vorkommen der Zeichenfolge str in dieser Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Siehe auch contains() und indexOf().
qsizetype QString::count(const QRegularExpression &re) const
Diese Funktion überlastet count().
Gibt die Anzahl der Übereinstimmungen des regulären Ausdrucks re in der Zeichenkette zurück.
Aus historischen Gründen zählt diese Funktion sich überschneidende Übereinstimmungen, so dass es im folgenden Beispiel vier Instanzen von "ana" oder "ama" gibt:
QString str = "banana and panama"; str.count(QRegularExpression("a[nm]a")); // returns 4
Dieses Verhalten unterscheidet sich von der einfachen Iteration über die Übereinstimmungen in der Zeichenkette mit QRegularExpressionMatchIterator.
Siehe auch QRegularExpression::globalMatch().
qsizetype QString::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet count().
Gibt die Anzahl der Vorkommen des Zeichens ch in der Zeichenkette zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Siehe auch contains() und indexOf().
[since 6.0]
qsizetype QString::count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet count().
Gibt die Anzahl der (sich möglicherweise überschneidenden) Vorkommen der Zeichenkette view str in dieser Zeichenkette zurück.
Wenn cs gleich Qt::CaseSensitive ist (die Vorgabe), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird zwischen Groß- und Kleinschreibung nicht unterschieden.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch contains() und indexOf().
QString::const_reverse_iterator QString::crbegin() const
Gibt einen const STL-ähnlichen Reverse-Iterator zurück, der auf das erste Zeichen der Zeichenkette in umgekehrter Reihenfolge zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch begin(), rbegin(), und rend().
QString::const_reverse_iterator QString::crend() const
Gibt einen const STL-ähnlichen Reverse-Iterator zurück, der in umgekehrter Reihenfolge direkt auf das letzte Zeichen der Zeichenkette zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch end(), rend(), und rbegin().
QChar *QString::data()
Gibt einen Zeiger auf die in QString gespeicherten Daten zurück. Der Zeiger kann verwendet werden, um auf die Zeichen zuzugreifen, aus denen die Zeichenkette besteht, und diese zu ändern.
Im Gegensatz zu constData() und unicode() sind die zurückgegebenen Daten immer '\0'-terminiert.
Beispiel:
QString str = "Hallo Welt";QChar *data = str.data();while (!data->isNull()) { qDebug() << data->unicode(); ++data; }
Beachten Sie, dass der Zeiger nur so lange gültig ist, wie die Zeichenkette nicht auf andere Weise verändert wird. Beim Nur-Lese-Zugriff ist constData() schneller, da es nie zu einer Tiefenkopie kommt.
Siehe auch constData() und operator[]().
const QChar *QString::data() const
Dies ist eine überladene Funktion.
Hinweis: Die zurückgegebene Zeichenkette darf nicht '\0'-terminiert sein. Verwenden Sie size(), um die Länge des Arrays zu bestimmen.
Siehe auch fromRawData().
QString::iterator QString::end()
Gibt einen Iterator im STL-Stil zurück, der direkt auf das letzte Zeichen in der Zeichenkette zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch begin() und constEnd().
QString::const_iterator QString::end() const
Diese Funktion überlastet end().
bool QString::endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Gibt true
zurück, wenn die Zeichenfolge mit s endet; andernfalls wird false
zurückgegeben.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird zwischen Groß- und Kleinschreibung nicht unterschieden.
QString str = "Bananas"; str.endsWith("anas"); // returns true str.endsWith("pple"); // returns false
Siehe auch startsWith().
bool QString::endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Gibt true
zurück, wenn die Zeichenkette mit c endet; andernfalls wird false
zurückgegeben.
Diese Funktion überlastet endsWith().
bool QString::endsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet endsWith().
[noexcept]
bool QString::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet endsWith().
Gibt true
zurück, wenn die Zeichenfolge mit der Zeichenfolgenansicht str endet; andernfalls gibt sie false
zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Siehe auch startsWith().
[since 6.1]
QString::iterator QString::erase(QString::const_iterator first, QString::const_iterator last)
Entfernt aus der Zeichenkette die Zeichen im halboffenen Bereich [ first, last ). Gibt einen Iterator zu dem Zeichen unmittelbar nach dem letzten gelöschten Zeichen zurück (d.h. das Zeichen, auf das last vor dem Löschen verweist).
Diese Funktion wurde in Qt 6.1 eingeführt.
[since 6.5]
QString::iterator QString::erase(QString::const_iterator it)
Dies ist eine überladene Funktion.
Entfernt das durch it
bezeichnete Zeichen aus der Zeichenkette. Gibt einen Iterator zu dem Zeichen unmittelbar nach dem gelöschten Zeichen zurück.
QString c = "abcdefg"; auto it = c.erase(c.cbegin()); // c is now "bcdefg"; "it" points to "b"
Diese Funktion wurde in Qt 6.5 eingeführt.
QString &QString::fill(QChar ch, qsizetype size = -1)
Setzt jedes Zeichen in der Zeichenkette auf das Zeichen ch. Wenn size ungleich -1 ist (Voreinstellung), wird die Zeichenkette vorher auf size umgestellt.
Beispiel:
QString str = "Berlin"; str.fill('z'); // str == "zzzzzz" str.fill('A', 2); // str == "AA"
Siehe auch resize().
[static]
QString QString::fromCFString(CFStringRef string)
Konstruiert eine neue QString, die eine Kopie des string CFString enthält.
Hinweis: Diese Funktion ist nur unter macOS und iOS verfügbar.
[static, since 6.6]
QString QString::fromEcmaString(emscripten::val jsString)
Konvertiert den ECMAScript-String jsString nach QString. Das Verhalten ist undefiniert, wenn der übergebene Parameter kein String ist.
Diese Funktion wurde in Qt 6.6 eingeführt.
Siehe auch toEcmaString().
[static]
QString QString::fromLatin1(const char *str, qsizetype size)
Gibt ein QString zurück, das mit den ersten size Zeichen der Latin-1 Zeichenkette str initialisiert ist.
Wenn size -1
ist, wird stattdessen strlen(str)
verwendet.
Siehe auch toLatin1(), fromUtf8(), und fromLocal8Bit().
[static, since 6.0]
QString QString::fromLatin1(QByteArrayView str)
Dies ist eine überladene Funktion.
Gibt eine QString zurück, die mit der Latin-1-Zeichenkette str initialisiert ist.
Hinweis: : Alle Null-Bytes ('\0') im Byte-Array werden in diesen String aufgenommen und in Unicode-Nullzeichen (U+0000) umgewandelt.
Diese Funktion wurde in Qt 6.0 eingeführt.
[static]
QString QString::fromLatin1(const QByteArray &str)
Dies ist eine überladene Funktion.
Gibt eine QString zurück, die mit der Latin-1-Zeichenkette str initialisiert ist.
Hinweis: : Alle Null-Bytes ('\0') im Byte-Array werden in diesen String aufgenommen und in Unicode-Nullzeichen (U+0000) umgewandelt. Dieses Verhalten ist anders als in Qt 5.x.
[static]
QString QString::fromLocal8Bit(const char *str, qsizetype size)
Gibt ein QString zurück, das mit den ersten size Zeichen der 8-Bit-Zeichenkette str initialisiert ist.
Wenn size -1
ist, wird stattdessen strlen(str)
verwendet.
Auf Unix-Systemen ist dies äquivalent zu fromUtf8(). Beachten Sie, dass diese Funktion auf Apple-Systemen NSString.defaultCStringEncoding oder CFStringGetSystemEncoding() nicht berücksichtigt, da diese Funktionen typischerweise die veraltete "Western (Mac OS Roman)"-Kodierung zurückgeben, die auf modernen Apple-Betriebssystemen nicht verwendet werden sollte. Unter Windows wird die aktuelle Codepage des Systems verwendet.
Siehe auch toLocal8Bit(), fromLatin1(), und fromUtf8().
[static, since 6.0]
QString QString::fromLocal8Bit(QByteArrayView str)
Dies ist eine überladene Funktion.
Gibt ein QString zurück, das mit der 8-Bit-Zeichenkette str initialisiert ist.
Auf Unix-Systemen ist dies äquivalent zu fromUtf8(). Beachten Sie, dass diese Funktion auf Apple-Systemen NSString.defaultCStringEncoding oder CFStringGetSystemEncoding() nicht berücksichtigt, da diese Funktionen typischerweise die veraltete "Western (Mac OS Roman)"-Kodierung zurückgeben, die auf modernen Apple-Betriebssystemen nicht verwendet werden sollte. Unter Windows wird die aktuelle Codepage des Systems verwendet.
Hinweis: : Alle Null-Bytes ('\0') im Byte-Array werden in diesen String eingeschlossen und in Unicode-Null-Zeichen (U+0000) umgewandelt.
Diese Funktion wurde in Qt 6.0 eingeführt.
[static]
QString QString::fromLocal8Bit(const QByteArray &str)
Dies ist eine überladene Funktion.
Gibt ein QString zurück, das mit der 8-Bit-Zeichenkette str initialisiert ist.
Auf Unix-Systemen ist dies äquivalent zu fromUtf8(). Beachten Sie, dass diese Funktion auf Apple-Systemen NSString.defaultCStringEncoding oder CFStringGetSystemEncoding() nicht berücksichtigt, da diese Funktionen typischerweise die veraltete "Western (Mac OS Roman)"-Kodierung zurückgeben, die auf modernen Apple-Betriebssystemen nicht verwendet werden sollte. Unter Windows wird die aktuelle Codepage des Systems verwendet.
Hinweis: : Alle Null-Bytes ('\0') im Byte-Array werden in diesen String eingeschlossen und in Unicode-Null-Zeichen (U+0000) umgewandelt. Dieses Verhalten ist anders als in Qt 5.x.
[static]
QString QString::fromNSString(const NSString *string)
Konstruiert eine neue QString, die eine Kopie des string NSString enthält.
Hinweis: Diese Funktion ist nur unter macOS und iOS verfügbar.
[static]
QString QString::fromRawData(const QChar *unicode, qsizetype size)
Konstruiert ein QString, das die ersten size Unicode-Zeichen in dem Array unicode verwendet. Die Daten in unicode werden nicht kopiert. Der Aufrufer muss garantieren können, dass unicode nicht gelöscht oder verändert wird, solange QString (oder eine unveränderte Kopie davon) existiert.
Jeder Versuch, QString oder Kopien davon zu verändern, führt dazu, dass eine Tiefenkopie der Daten erstellt wird, um sicherzustellen, dass die Rohdaten nicht verändert werden.
Hier ein Beispiel für die Verwendung von QRegularExpression auf Rohdaten im Speicher, ohne dass die Daten in eine QString kopiert werden müssen:
QRegularExpression pattern("\u00A4"); static const QChar unicode[] = { 0x005A, 0x007F, 0x00A4, 0x0060, 0x1009, 0x0020, 0x0020}; qsizetype size = sizeof(unicode) / sizeof(QChar); QString str = QString::fromRawData(unicode, size); if (str.contains(pattern) { // ... }
Warnung: Eine mit fromRawData() erstellte Zeichenkette ist nicht '\0'-terminiert, es sei denn, die Rohdaten enthalten ein '\0'-Zeichen an der Position size. Das bedeutet, dass unicode() keinen String mit '\0'-Terminierung zurückgibt (obwohl utf16() dies tut, allerdings auf Kosten des Kopierens der Rohdaten).
Siehe auch fromUtf16() und setRawData().
[static]
QString QString::fromStdString(const std::string &str)
Gibt eine Kopie der Zeichenkette str zurück. Es wird angenommen, dass die angegebene Zeichenkette in UTF-8 kodiert ist und mit der Funktion fromUtf8() in QString umgewandelt wird.
Siehe auch fromLatin1(), fromLocal8Bit(), fromUtf8(), und QByteArray::fromStdString().
[static]
QString QString::fromStdU16String(const std::u16string &str)
Gibt eine Kopie der Zeichenkette str zurück. Es wird angenommen, dass die angegebene Zeichenkette in UTF-16 kodiert ist und mit der Funktion fromUtf16() in QString umgewandelt wird.
Siehe auch fromUtf16(), fromStdWString(), und fromStdU32String().
[static]
QString QString::fromStdU32String(const std::u32string &str)
Gibt eine Kopie der Zeichenkette str zurück. Es wird angenommen, dass die angegebene Zeichenkette in UTF-32 kodiert ist und mit der Funktion fromUcs4() in QString umgewandelt wird.
Siehe auch fromUcs4(), fromStdWString(), und fromStdU16String().
[static]
QString QString::fromStdWString(const std::wstring &str)
Gibt eine Kopie der Zeichenkette str zurück. Es wird angenommen, dass die angegebene Zeichenkette in utf16 kodiert ist, wenn die Größe von wchar_t 2 Bytes beträgt (z.B. unter Windows) und ucs4, wenn die Größe von wchar_t 4 Bytes beträgt (die meisten Unix-Systeme).
Siehe auch fromUtf16(), fromLatin1(), fromLocal8Bit(), fromUtf8(), fromUcs4(), fromStdU16String(), und fromStdU32String().
[static]
QString QString::fromUcs4(const char32_t *unicode, qsizetype size = -1)
Gibt ein QString zurück, das mit den ersten size Zeichen der Unicode-Zeichenfolge unicode (kodiert als UTF-32) initialisiert ist.
Wenn size gleich -1 ist (Voreinstellung), muss unicode mit \0' abgeschlossen werden.
Siehe auch toUcs4(), fromUtf16(), utf16(), setUtf16(), fromWCharArray(), und fromStdU32String().
[static]
QString QString::fromUtf8(const char *str, qsizetype size)
Gibt ein QString zurück, das mit den ersten size Bytes der UTF-8 Zeichenkette str initialisiert ist.
Wenn size -1
ist, wird stattdessen strlen(str)
verwendet.
UTF-8 ist ein Unicode-Codec und kann alle Zeichen in einer Unicode-Zeichenkette wie QString darstellen. Ungültige Sequenzen sind jedoch mit UTF-8 möglich, und wenn solche gefunden werden, werden sie durch ein oder mehrere "Ersatzzeichen" ersetzt oder unterdrückt. Dazu gehören Nicht-Unicode-Sequenzen, Nicht-Zeichen, überlange Sequenzen oder in UTF-8 kodierte Surrogat-Codepoints.
Diese Funktion kann verwendet werden, um eingehende Daten inkrementell zu verarbeiten, solange alle UTF-8-Zeichen innerhalb der eingehenden Daten terminiert werden. Alle nicht beendeten Zeichen am Ende des Strings werden ersetzt oder unterdrückt. Um eine zustandsabhängige Dekodierung durchzuführen, verwenden Sie bitte QStringDecoder.
Siehe auch toUtf8(), fromLatin1(), und fromLocal8Bit().
[static, since 6.0]
QString QString::fromUtf8(QByteArrayView str)
Dies ist eine überladene Funktion.
Gibt eine QString zurück, die mit dem UTF-8-String str initialisiert ist.
Hinweis: : Alle Null-Bytes ('\0') im Byte-Array werden in diesen String aufgenommen und in Unicode-Nullzeichen (U+0000) umgewandelt.
Diese Funktion wurde in Qt 6.0 eingeführt.
[static]
QString QString::fromUtf8(const QByteArray &str)
Dies ist eine überladene Funktion.
Gibt eine QString zurück, die mit dem UTF-8-String str initialisiert ist.
Hinweis: : Alle Null-Bytes ('\0') im Byte-Array werden in diesen String aufgenommen und in Unicode-Nullzeichen (U+0000) umgewandelt. Dieses Verhalten ist anders als in Qt 5.x.
[static, since 6.1]
QString QString::fromUtf8(const char8_t *str)
Dies ist eine überladene Funktion.
Diese Überladung ist nur beim Kompilieren im C++20-Modus verfügbar.
Diese Funktion wurde in Qt 6.1 eingeführt.
[static, since 6.0]
QString QString::fromUtf8(const char8_t *str, qsizetype size)
Dies ist eine überladene Funktion.
Diese Überladung ist nur beim Kompilieren im C++20-Modus verfügbar.
Diese Funktion wurde in Qt 6.0 eingeführt.
[static]
QString QString::fromUtf16(const char16_t *unicode, qsizetype size = -1)
Gibt ein QString zurück, das mit den ersten size Zeichen der Unicode-Zeichenkette unicode (ISO-10646-UTF-16 kodiert) initialisiert ist.
Wenn size gleich -1 ist (Voreinstellung), muss unicode mit \0'- abgeschlossen werden.
Diese Funktion prüft auf ein Byte Order Mark (BOM). Fehlt sie, wird die Byte-Reihenfolge des Hosts angenommen.
Diese Funktion ist im Vergleich zu den anderen Unicode-Konvertierungen langsam. Verwenden Sie QString(const QChar *, qsizetype) oder QString(const QChar *) wenn möglich.
QString erstellt eine Tiefenkopie der Unicode-Daten.
Siehe auch utf16(), setUtf16(), und fromStdU16String().
[static]
QString QString::fromWCharArray(const wchar_t *string, qsizetype size = -1)
Liest die ersten size Codeeinheiten des Arrays wchar_t
, auf dessen Anfang string zeigt, konvertiert sie in Unicode und gibt das Ergebnis als QString zurück. Die von wchar_t
verwendete Kodierung wird als UTF-32 angenommen, wenn die Größe des Typs vier Bytes beträgt, oder als UTF-16, wenn die Größe zwei Bytes beträgt.
Wenn size -1 ist (Voreinstellung), muss string mit '\0' abgeschlossen werden.
Siehe auch fromUtf16(), fromLatin1(), fromLocal8Bit(), fromUtf8(), fromUcs4(), und fromStdWString().
QChar &QString::front()
Gibt einen Verweis auf das erste Zeichen in der Zeichenkette zurück. Dasselbe wie operator[](0)
.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Warnung: Der Aufruf dieser Funktion bei einer leeren Zeichenkette führt zu undefiniertem Verhalten.
Siehe auch back(), at(), und operator[]().
QChar QString::front() const
Gibt das erste Zeichen der Zeichenkette zurück. Dasselbe wie at(0)
.
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt.
Warnung: Der Aufruf dieser Funktion bei einer leeren Zeichenkette führt zu undefiniertem Verhalten.
Siehe auch back(), at(), und operator[]().
qsizetype QString::indexOf(QLatin1StringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Gibt die Indexposition des ersten Vorkommens der Latin-1-Zeichenkette zurück, die von str in dieser Zeichenkette betrachtet wird, wobei ab der Indexposition from vorwärts gesucht wird. Gibt -1 zurück, wenn str nicht gefunden wird.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Beispiel:
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 -1
Wenn from -1 ist, beginnt die Suche beim letzten Zeichen; wenn es -2 ist, beim vorletzten Zeichen und so weiter.
Siehe auch lastIndexOf(), contains(), und count().
qsizetype QString::indexOf(const QRegularExpression &re, qsizetype from = 0, QRegularExpressionMatch *rmatch = nullptr) const
Gibt die Indexposition der ersten Übereinstimmung des regulären Ausdrucks re in der Zeichenkette zurück, wobei ab der Indexposition from vorwärts gesucht wird. Gibt -1 zurück, wenn re nirgendwo übereinstimmt.
Wenn die Übereinstimmung erfolgreich ist und rmatch nicht nullptr
ist, werden die Ergebnisse der Übereinstimmung auch in das Objekt QRegularExpressionMatch geschrieben, auf das rmatch zeigt.
Beispiel:
QString str = "the minimum"; str.indexOf(QRegularExpression("m[aeiou]"), 0); // returns 4 QString str = "the minimum"; QRegularExpressionMatch match; str.indexOf(QRegularExpression("m[aeiou]"), 0, &match); // returns 4 // match.captured() == mi
qsizetype QString::indexOf(const QString &str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Gibt die Indexposition des ersten Vorkommens der Zeichenfolge str in dieser Zeichenfolge zurück, wobei ab der Indexposition from vorwärts gesucht wird. Gibt -1 zurück, wenn str nicht gefunden wird.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Beispiel:
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 -1
Wenn from -1 ist, beginnt die Suche beim letzten Zeichen; wenn es -2 ist, beim vorletzten Zeichen und so weiter.
Siehe auch lastIndexOf(), contains(), und count().
qsizetype QString::indexOf(QChar ch, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet indexOf().
Gibt die Indexposition des ersten Vorkommens des Zeichens ch in dieser Zeichenkette zurück, wobei ab der Indexposition from vorwärts gesucht wird. Gibt -1 zurück, wenn ch nicht gefunden wird.
[noexcept]
qsizetype QString::indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet indexOf().
Gibt die Indexposition des ersten Vorkommens der Zeichenkettenansicht str in dieser Zeichenkette zurück, wobei ab der Indexposition from vorwärts gesucht wird. Gibt -1 zurück, wenn str nicht gefunden wird.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Wenn from -1 ist, beginnt die Suche beim letzten Zeichen; wenn es -2 ist, beim vorletzten Zeichen und so weiter.
Siehe auch QStringView::indexOf(), lastIndexOf(), contains(), und count().
QString &QString::insert(qsizetype position, const QString &str)
Fügt die Zeichenkette str am angegebenen Index position ein und gibt eine Referenz auf diese Zeichenkette zurück.
Beispiel:
Diese Zeichenkette wächst, um das Einfügen zu ermöglichen. Wenn position hinter dem Ende der Zeichenkette liegt, werden Leerzeichen an die Zeichenkette angehängt, um diese position zu erreichen, gefolgt von str.
Siehe auch append(), prepend(), replace(), und remove().
QString &QString::insert(qsizetype position, QChar ch)
Diese Funktion überlastet insert().
Fügt ch an dem angegebenen Index position in die Zeichenkette ein.
Diese Zeichenkette wächst, um die Einfügung zu ermöglichen. Wenn position hinter dem Ende der Zeichenkette liegt, werden Leerzeichen an die Zeichenkette angehängt, um diese position zu erreichen, gefolgt von ch.
QString &QString::insert(qsizetype position, QLatin1StringView str)
Diese Funktion überlastet insert().
Fügt die Latin-1-Zeichenkette, die von str angezeigt wird, am angegebenen Index position ein.
Diese Zeichenkette wächst, um das Einfügen zu ermöglichen. Wenn position hinter dem Ende der Zeichenkette liegt, werden Leerzeichen an die Zeichenkette angehängt, um diese position zu erreichen, gefolgt von str.
[since 6.0]
QString &QString::insert(qsizetype position, QStringView str)
Diese Funktion überlastet insert().
Fügt die Zeichenkette view str am angegebenen Index position ein und gibt eine Referenz auf diese Zeichenkette zurück.
Diese Zeichenkette wächst, um das Einfügen zu ermöglichen. Wenn position hinter dem Ende des Strings liegt, werden Leerzeichen an den String angehängt, um diesen position zu erreichen, gefolgt von str.
Diese Funktion wurde in Qt 6.0 eingeführt.
[since 6.5]
QString &QString::insert(qsizetype position, QUtf8StringView str)
Diese Funktion überlastet insert().
Fügt die UTF-8-String-Ansicht str am angegebenen Index position ein.
Hinweis: Das Einfügen von UTF-8-kodierten Zeichenkettendaten mit variabler Breite ist konzeptionell langsamer als das Einfügen von Zeichenkettendaten mit fester Breite wie UTF-16 (QStringView) oder Latin-1 (QLatin1StringView) und sollte daher sparsam verwendet werden.
Diese Zeichenkette wächst, um die Einfügung zu ermöglichen. Wenn position über das Ende des Strings hinausgeht, werden Leerzeichen an den String angehängt, um diesen position zu erreichen, gefolgt von str.
Diese Funktion wurde in Qt 6.5 eingeführt.
QString &QString::insert(qsizetype position, const QByteArray &str)
Diese Funktion überlastet insert().
Interpretiert den Inhalt von str als UTF-8, fügt den kodierten Unicode-String am angegebenen Index position ein und gibt einen Verweis auf diesen String zurück.
Diese Zeichenkette wächst, um das Einfügen zu ermöglichen. Wenn position hinter dem Ende der Zeichenkette liegt, werden Leerzeichen an die Zeichenkette angehängt, um diese position zu erreichen, gefolgt von str.
Diese Funktion ist nicht verfügbar, wenn QT_NO_CAST_FROM_ASCII definiert ist.
QString &QString::insert(qsizetype position, const char *str)
Diese Funktion überlastet insert().
Fügt die C-Zeichenkette str am angegebenen Index position ein und gibt eine Referenz auf diese Zeichenkette zurück.
Diese Zeichenkette wächst, um das Einfügen zu ermöglichen. Wenn position hinter dem Ende der Zeichenkette liegt, werden Leerzeichen an die Zeichenkette angehängt, um diese position zu erreichen, gefolgt von str.
Diese Funktion ist nicht verfügbar, wenn QT_NO_CAST_FROM_ASCII definiert ist.
QString &QString::insert(qsizetype position, const QChar *unicode, qsizetype size)
Diese Funktion überlastet insert().
Fügt die ersten size Zeichen des Arrays QChar unicode an dem angegebenen Index position in die Zeichenkette ein.
Diese Zeichenkette wächst, um das Einfügen zu ermöglichen. Wenn position hinter dem Ende der Zeichenkette liegt, werden Leerzeichen an die Zeichenkette angehängt, um diese position zu erreichen, gefolgt von size Zeichen des QChar Arrays unicode.
[noexcept]
bool QString::isEmpty() const
Gibt true
zurück, wenn die Zeichenkette keine Zeichen enthält; andernfalls wird false
zurückgegeben.
Beispiel:
QString().isEmpty(); // returns true QString("").isEmpty(); // returns true QString("x").isEmpty(); // returns false QString("abc").isEmpty(); // returns false
Siehe auch size().
bool QString::isLower() const
Gibt true
zurück, wenn die Zeichenkette kleingeschrieben ist, d. h. sie ist identisch mit ihrer toLower()-Faltung.
Beachten Sie, dass dies nicht bedeutet, dass die Zeichenkette keine Großbuchstaben enthält (einige Großbuchstaben haben keine Kleinbuchstaben-Faltung; sie werden von toLower() unverändert gelassen). Weitere Informationen finden Sie in der Unicode-Norm, Abschnitt 3.13.
Siehe auch QChar::toLower() und isUpper().
bool QString::isNull() const
Gibt true
zurück, wenn diese Zeichenkette null ist; andernfalls wird false
zurückgegeben.
Beispiel:
QString().isNull(); // returns true QString("").isNull(); // returns false QString("abc").isNull(); // returns false
Qt unterscheidet aus historischen Gründen zwischen Null-Strings und leeren Strings. Für die meisten Anwendungen ist es wichtig, ob eine Zeichenkette Daten enthält oder nicht, und dies kann mit der Funktion isEmpty() ermittelt werden.
Siehe auch isEmpty().
bool QString::isRightToLeft() const
Gibt true
zurück, wenn die Zeichenkette von rechts nach links gelesen wird.
Siehe auch QStringView::isRightToLeft().
bool QString::isUpper() const
Gibt true
zurück, wenn die Zeichenkette in Großbuchstaben geschrieben ist, d. h. sie ist identisch mit ihrer toUpper()-Faltung.
Beachten Sie, dass dies nicht bedeutet, dass die Zeichenkette keine Kleinbuchstaben enthält (einige Kleinbuchstaben haben keine Großbuchstaben-Faltung; sie werden von toUpper() unverändert gelassen). Weitere Informationen finden Sie in der Unicode-Norm, Abschnitt 3.13.
Siehe auch QChar::toUpper() und isLower().
[noexcept]
bool QString::isValidUtf16() const
Gibt true
zurück, wenn die Zeichenkette gültige UTF-16-kodierte Daten enthält, andernfalls false
.
Beachten Sie, dass diese Funktion keine spezielle Validierung der Daten durchführt; sie prüft lediglich, ob sie erfolgreich aus UTF-16 dekodiert werden können. Es wird davon ausgegangen, dass die Daten in Host-Byte-Reihenfolge vorliegen; das Vorhandensein eines BOM ist bedeutungslos.
Siehe auch QStringView::isValidUtf16().
qsizetype QString::lastIndexOf(const QRegularExpression &re, qsizetype from, QRegularExpressionMatch *rmatch = nullptr) const
Gibt die Indexposition der letzten Übereinstimmung des regulären Ausdrucks re in der Zeichenkette zurück, die vor der Indexposition from beginnt.
Ist from gleich -1, beginnt die Suche am letzten Zeichen; ist es -2, am vorletzten Zeichen und so weiter.
Gibt -1 zurück, wenn re nirgendwo übereinstimmt.
Wenn die Übereinstimmung erfolgreich ist und rmatch nicht nullptr
ist, werden die Ergebnisse der Übereinstimmung auch in das Objekt QRegularExpressionMatch geschrieben, auf das rmatch zeigt.
Beispiel:
QString str = "the minimum"; str.lastIndexOf(QRegularExpression("m[aeiou]")); // returns 8 QString str = "the minimum"; QRegularExpressionMatch match; str.lastIndexOf(QRegularExpression("m[aeiou]"), -1, &match); // returns 8 // match.captured() == mu
Hinweis: Aufgrund der Funktionsweise des Algorithmus für die Suche nach regulären Ausdrücken wird diese Funktion wiederholt vom Anfang der Zeichenfolge bis zur Position from suchen.
Hinweis: Bei der Suche nach einem regulären Ausdruck re, der mit 0 Zeichen übereinstimmen kann, wird die Übereinstimmung am Ende der Daten durch ein negatives from von der Suche ausgeschlossen, auch wenn man normalerweise davon ausgeht, dass -1
vom Ende der Zeichenkette aus sucht: Die Übereinstimmung am Ende liegt nach dem letzten Zeichen und wird daher ausgeschlossen. Um eine solche letzte leere Übereinstimmung einzuschließen, geben Sie entweder einen positiven Wert für from an oder lassen Sie den Parameter from ganz weg.
qsizetype QString::lastIndexOf(const QString &str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Gibt die Indexposition des letzten Vorkommens der Zeichenkette str in dieser Zeichenkette zurück, wobei ab der Indexposition from rückwärts gesucht wird.
Ist from gleich -1, beginnt die Suche beim letzten Zeichen; ist es -2, beim vorletzten Zeichen und so weiter.
Gibt -1 zurück, wenn str nicht gefunden wird.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Beispiel:
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 -1
Hinweis: Bei der Suche nach einem str der Länge 0 wird die Übereinstimmung am Ende der Daten durch ein negatives from von der Suche ausgeschlossen, auch wenn -1
normalerweise als Suche vom Ende der Zeichenkette aus betrachtet wird: Die Übereinstimmung am Ende liegt nach dem letzten Zeichen und wird daher ausgeschlossen. Um eine solche letzte leere Übereinstimmung einzuschließen, geben Sie entweder einen positiven Wert für from an oder lassen Sie den Parameter from ganz weg.
Siehe auch indexOf(), contains(), und count().
[noexcept, since 6.3]
qsizetype QString::lastIndexOf(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet lastIndexOf().
Diese Funktion wurde in Qt 6.3 eingeführt.
[since 6.2]
qsizetype QString::lastIndexOf(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet lastIndexOf().
Gibt die Indexposition des letzten Vorkommens der Zeichenfolge str in dieser Zeichenfolge zurück. Gibt -1 zurück, wenn str nicht gefunden wird.
Wenn cs gleich Qt::CaseSensitive ist (die Vorgabe), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird zwischen Groß- und Kleinschreibung nicht unterschieden.
Beispiel:
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 -1
Diese Funktion wurde in Qt 6.2 eingeführt.
Siehe auch indexOf(), contains(), und count().
[noexcept, since 6.2]
qsizetype QString::lastIndexOf(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet lastIndexOf().
Gibt die Indexposition des letzten Vorkommens der Zeichenkettenansicht str in dieser Zeichenkette zurück. Gibt -1 zurück, wenn str nicht gefunden wird.
Wenn cs gleich Qt::CaseSensitive ist (die Vorgabe), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird zwischen Groß- und Kleinschreibung nicht unterschieden.
Diese Funktion wurde in Qt 6.2 eingeführt.
Siehe auch indexOf(), contains(), und count().
[since 6.2]
qsizetype QString::lastIndexOf(const QRegularExpression &re, QRegularExpressionMatch *rmatch = nullptr) const
Diese Funktion überlastet lastIndexOf().
Gibt die Indexposition der letzten Übereinstimmung mit dem regulären Ausdruck re in der Zeichenkette zurück. Gibt -1 zurück, wenn re nirgends übereinstimmt.
Wenn die Übereinstimmung erfolgreich ist und rmatch nicht nullptr
ist, werden die Ergebnisse der Übereinstimmung auch in das Objekt QRegularExpressionMatch geschrieben, auf das rmatch zeigt.
Beispiel:
QString str = "the minimum"; str.lastIndexOf(QRegularExpression("m[aeiou]")); // returns 8 QString str = "the minimum"; QRegularExpressionMatch match; str.lastIndexOf(QRegularExpression("m[aeiou]"), -1, &match); // returns 8 // match.captured() == mu
Hinweis: Aufgrund der Funktionsweise des Algorithmus für den Abgleich regulärer Ausdrücke wird diese Funktion tatsächlich wiederholt vom Anfang der Zeichenkette bis zum Ende der Zeichenkette abgleichen.
Diese Funktion wurde in Qt 6.2 eingeführt.
[since 6.2]
qsizetype QString::lastIndexOf(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet lastIndexOf().
Gibt die Indexposition des letzten Vorkommens der Zeichenfolge str in dieser Zeichenfolge zurück. Gibt -1 zurück, wenn str nicht gefunden wird.
Wenn cs gleich Qt::CaseSensitive ist (die Vorgabe), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird zwischen Groß- und Kleinschreibung nicht unterschieden.
Beispiel:
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 -1
Diese Funktion wurde in Qt 6.2 eingeführt.
Siehe auch indexOf(), contains(), und count().
qsizetype QString::lastIndexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet lastIndexOf().
Gibt die Indexposition des letzten Vorkommens des Zeichens ch in dieser Zeichenfolge zurück, wobei ab der Indexposition from rückwärts gesucht wird.
qsizetype QString::lastIndexOf(QLatin1StringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet lastIndexOf().
Gibt die Indexposition des letzten Vorkommens der Latin-1-Zeichenkette zurück, die von str in dieser Zeichenkette betrachtet wird, wobei ab der Indexposition from rückwärts gesucht wird.
Ist from gleich -1, beginnt die Suche beim letzten Zeichen; ist es -2, beim vorletzten Zeichen usw.
Gibt -1 zurück, wenn str nicht gefunden wird.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Beispiel:
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 -1
Hinweis: Bei der Suche nach einem str der Länge 0 wird die Übereinstimmung am Ende der Daten durch ein negatives from von der Suche ausgeschlossen, auch wenn -1
normalerweise als Suche vom Ende der Zeichenkette aus betrachtet wird: Die Übereinstimmung am Ende liegt nach dem letzten Zeichen und wird daher ausgeschlossen. Um eine solche letzte leere Übereinstimmung einzuschließen, geben Sie entweder einen positiven Wert für from an oder lassen Sie den Parameter from ganz weg.
Siehe auch indexOf(), contains(), und count().
[noexcept]
qsizetype QString::lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet lastIndexOf().
Gibt die Indexposition des letzten Vorkommens der Zeichenkettenansicht str in dieser Zeichenkette zurück, wobei ab der Indexposition from rückwärts gesucht wird.
Ist from gleich -1, beginnt die Suche beim letzten Zeichen; ist es -2, beim vorletzten Zeichen usw.
Gibt -1 zurück, wenn str nicht gefunden wird.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Hinweis: Bei der Suche nach einem str der Länge 0 wird die Übereinstimmung am Ende der Daten durch ein negatives from von der Suche ausgeschlossen, auch wenn -1
normalerweise als Suche vom Ende der Zeichenkette aus betrachtet wird: Die Übereinstimmung am Ende liegt nach dem letzten Zeichen und wird daher ausgeschlossen. Um eine solche letzte leere Übereinstimmung einzuschließen, geben Sie entweder einen positiven Wert für from an oder lassen Sie den Parameter from ganz weg.
Siehe auch indexOf(), contains(), und count().
QString QString::leftJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const
Gibt eine Zeichenkette der Größe width zurück, die diese Zeichenkette mit dem Zeichen fill aufgefüllt enthält.
Wenn truncate gleich false
ist und size() der Zeichenkette größer ist als width, dann ist die zurückgegebene Zeichenkette eine Kopie der Zeichenkette.
Wenn truncate gleich true
ist und size() der Zeichenkette größer als width ist, werden alle Zeichen in einer Kopie der Zeichenkette nach der Position width entfernt, und die Kopie wird zurückgegeben.
QString str = "Pineapple"; str = str.leftJustified(5, '.', true); // str == "Pinea"
Siehe auch rightJustified().
[noexcept]
qsizetype QString::length() const
Gibt die Anzahl der Zeichen in dieser Zeichenkette zurück. Äquivalent zu size().
Siehe auch resize().
[static]
int QString::localeAwareCompare(const QString &s1, const QString &s2)
Vergleicht s1 mit s2 und gibt eine ganze Zahl zurück, die kleiner, gleich oder größer als Null ist, wenn s1 kleiner, gleich oder größer als s2 ist.
Der Vergleich wird auf eine lokal- und plattformabhängige Weise durchgeführt. Verwenden Sie diese Funktion, um dem Benutzer sortierte Listen von Zeichenketten zu präsentieren.
Siehe auch compare(), QLocale, und Comparing Strings.
[since 6.0]
int QString::localeAwareCompare(QStringView other) const
Diese Funktion ist eine Überladung von localeAwareCompare().
Vergleicht diese Zeichenkette mit der Zeichenkette other und gibt eine ganze Zahl zurück, die kleiner, gleich oder größer als Null ist, wenn diese Zeichenkette kleiner, gleich oder größer als die Zeichenkette other ist.
Der Vergleich wird in einer lokal- und plattformabhängigen Weise durchgeführt. Verwenden Sie diese Funktion, um dem Benutzer sortierte Listen von Zeichenketten zu präsentieren.
Dasselbe wie localeAwareCompare(*this, other)
.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch Comparing Strings.
int QString::localeAwareCompare(const QString &other) const
Diese Funktion ist eine Überladung von localeAwareCompare().
Vergleicht diese Zeichenkette mit der Zeichenkette other und gibt eine ganze Zahl zurück, die kleiner, gleich oder größer als Null ist, wenn diese Zeichenkette kleiner, gleich oder größer als die Zeichenkette other ist.
Der Vergleich wird in einer lokal- und plattformabhängigen Weise durchgeführt. Verwenden Sie diese Funktion, um dem Benutzer sortierte Listen von Zeichenketten zu präsentieren.
Dasselbe wie localeAwareCompare(*this, other)
.
Siehe auch Comparing Strings.
[static, since 6.0]
int QString::localeAwareCompare(QStringView s1, QStringView s2)
Diese Funktion ist eine Überladung von localeAwareCompare().
Vergleicht s1 mit s2 und gibt eine ganze Zahl zurück, die kleiner, gleich oder größer als Null ist, wenn s1 kleiner, gleich oder größer als s2 ist.
Der Vergleich wird auf eine lokal- und plattformabhängige Weise durchgeführt. Verwenden Sie diese Funktion, um dem Benutzer sortierte Listen von Zeichenketten zu präsentieren.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch Comparing Strings.
QString QString::normalized(QString::NormalizationForm mode, QChar::UnicodeVersion version = QChar::Unicode_Unassigned) const
Gibt die Zeichenkette in der angegebenen Unicode-Normalisierung mode zurück, entsprechend der angegebenen version des Unicode-Standards.
[static]
QString QString::number(long n, int base = 10)
Gibt ein String-Äquivalent der Zahl n entsprechend der angegebenen base zurück.
Die Basis ist standardmäßig 10 und muss zwischen 2 und 36 liegen. Für andere Basen als 10 wird n als Ganzzahl ohne Vorzeichen behandelt.
Für die Formatierung wird immer QLocale::C verwendet, d. h. Englisch/Vereinigte Staaten. Um eine lokalisierte String-Darstellung einer Zahl zu erhalten, verwenden Sie QLocale::toString() mit dem entsprechenden Gebietsschema.
long a = 63; QString s = QString::number(a, 16); // s == "3f" QString t = QString::number(a, 16).toUpper(); // t == "3F"
Siehe auch setNum().
[static]
QString QString::number(double n, char format = 'g', int precision = 6)
Gibt eine Zeichenkette zurück, die die Fließkommazahl n darstellt.
Gibt eine Zeichenkette zurück, die n repräsentiert, formatiert entsprechend den angegebenen format und precision.
Bei Formaten mit einem Exponenten zeigt der Exponent sein Vorzeichen und hat mindestens zwei Ziffern, wobei der Exponent bei Bedarf links mit Null aufgefüllt wird.
Siehe auch setNum(), QLocale::toString(), QLocale::FloatingPointPrecisionOption, und Number Formats.
[static]
QString QString::number(int n, int base = 10)
Dies ist eine überladene Funktion.
[static]
QString QString::number(qlonglong n, int base = 10)
Dies ist eine überladene Funktion.
[static]
QString QString::number(qulonglong n, int base = 10)
Dies ist eine überladene Funktion.
[static]
QString QString::number(uint n, int base = 10)
Dies ist eine überladene Funktion.
[static]
QString QString::number(ulong n, int base = 10)
Dies ist eine überladene Funktion.
QString &QString::prepend(const QString &str)
Stellt die Zeichenkette str an den Anfang dieser Zeichenkette und gibt einen Verweis auf diese Zeichenkette zurück.
Dieser Vorgang ist in der Regel sehr schnell(konstante Zeit), da QString zusätzlichen Platz am Anfang der Zeichenkette reserviert, so dass sie wachsen kann, ohne jedes Mal die gesamte Zeichenkette neu zu reservieren.
Beispiel:
Siehe auch append() und insert().
QString &QString::prepend(QChar ch)
Diese Funktion überlädt prepend().
Hängt das Zeichen ch an diese Zeichenkette an.
QString &QString::prepend(QLatin1StringView str)
Diese Funktion überlädt prepend().
Stellt die Latin-1-Zeichenkette, die von str angezeigt wird, dieser Zeichenkette voran.
[since 6.0]
QString &QString::prepend(QStringView str)
Diese Funktion überlädt prepend().
Stellt die Zeichenkettenansicht str an den Anfang dieser Zeichenkette und gibt eine Referenz auf diese Zeichenkette zurück.
Diese Funktion wurde in Qt 6.0 eingeführt.
[since 6.5]
QString &QString::prepend(QUtf8StringView str)
Diese Funktion überlädt prepend().
Hängt die UTF-8-String-Ansicht str an diesen String an.
Diese Funktion wurde in Qt 6.5 eingeführt.
QString &QString::prepend(const QByteArray &ba)
Diese Funktion überlädt prepend().
Hängt das Byte-Array ba an diese Zeichenkette an. Das Byte-Array wird mit der Funktion fromUtf8() in Unicode konvertiert.
Sie können diese Funktion deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten die Funktion QObject::tr() durchlaufen.
QString &QString::prepend(const char *str)
Diese Funktion überlädt prepend().
Fügt die Zeichenkette str an diese Zeichenkette an. Der const char-Zeiger wird mit der Funktion fromUtf8() in Unicode umgewandelt.
Sie können diese Funktion deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten die Funktion QObject::tr() durchlaufen.
QString &QString::prepend(const QChar *str, qsizetype len)
Diese Funktion überlädt prepend().
Hängt len Zeichen aus dem Array QChar str an diese Zeichenkette an und gibt eine Referenz auf diese Zeichenkette zurück.
void QString::push_back(const QString &other)
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt und hängt die angegebene Zeichenkette other an das Ende dieser Zeichenkette an. Sie ist äquivalent zu append(other)
.
Siehe auch append().
void QString::push_back(QChar ch)
Dies ist eine überladene Funktion.
Hängt das angegebene Zeichen ch an das Ende dieser Zeichenkette an.
void QString::push_front(const QString &other)
Diese Funktion wird aus Gründen der STL-Kompatibilität bereitgestellt und stellt die angegebene Zeichenfolge other an den Anfang dieser Zeichenfolge. Sie ist äquivalent zu prepend(other)
.
Siehe auch prepend().
void QString::push_front(QChar ch)
Dies ist eine überladene Funktion.
Stellt das angegebene Zeichen ch an den Anfang der Zeichenkette.
QString::reverse_iterator QString::rbegin()
Gibt einen Reverse-Iterator im STL-Stil zurück, der auf das erste Zeichen in der Zeichenkette in umgekehrter Reihenfolge zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch begin(), crbegin(), und rend().
QString::const_reverse_iterator QString::rbegin() const
Dies ist eine überladene Funktion.
QString &QString::remove(const QRegularExpression &re)
Entfernt jedes Vorkommen des regulären Ausdrucks re in der Zeichenkette und gibt einen Verweis auf die Zeichenkette zurück. Ein Beispiel:
QString r = "Telephone"; r.remove(QRegularExpression("[aeiou].")); // r == "The"
Durch das Entfernen von Elementen wird die Kapazität der Zeichenkette erhalten und der zugewiesene Speicher nicht verringert. Um zusätzliche Kapazität abzubauen und so viel Speicher wie möglich freizugeben, rufen Sie squeeze() nach der letzten Änderung der Größe der Zeichenkette auf.
Siehe auch indexOf(), lastIndexOf(), und replace().
QString &QString::remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Entfernt jedes Vorkommen des Zeichens ch in dieser Zeichenfolge und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Beispiel:
Dies ist dasselbe wie replace(ch, "", cs)
.
Durch das Entfernen von Elementen wird die Kapazität der Zeichenkette erhalten und der zugewiesene Speicherplatz nicht verringert. Um zusätzliche Kapazität abzubauen und so viel Speicher wie möglich freizugeben, rufen Sie squeeze() nach der letzten Änderung der Größe der Zeichenkette auf.
Siehe auch replace().
QString &QString::remove(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Entfernt jedes Vorkommen der angegebenen Zeichenfolge str in dieser Zeichenfolge und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Dies ist dasselbe wie replace(str, "", cs)
.
Durch das Entfernen von Elementen wird die Kapazität der Zeichenkette beibehalten und der zugewiesene Speicherplatz nicht verringert. Um zusätzliche Kapazität abzubauen und so viel Speicher wie möglich freizugeben, rufen Sie squeeze() nach der letzten Änderung der Größe der Zeichenkette auf.
Siehe auch replace().
QString &QString::remove(qsizetype position, qsizetype n)
Entfernt n Zeichen aus der Zeichenkette, beginnend mit dem angegebenen position Index, und gibt einen Verweis auf die Zeichenkette zurück.
Wenn der angegebene position Index innerhalb der Zeichenkette liegt, aber position + n über das Ende der Zeichenkette hinausgeht, wird die Zeichenkette am angegebenen position abgeschnitten.
Wenn n <= 0 ist, wird nichts geändert.
QString s = "Montreal"; s.remove(1, 4); // s == "Meal"
Durch das Entfernen von Elementen wird die Kapazität der Zeichenkette erhalten und der zugewiesene Speicherplatz nicht verringert. Um zusätzliche Kapazität abzubauen und so viel Speicher wie möglich freizugeben, rufen Sie squeeze() nach der letzten Änderung der Größe der Zeichenkette auf.
Siehe auch insert() und replace().
QString &QString::remove(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Dies ist eine überladene Funktion.
Entfernt jedes Vorkommen der angegebenen Latin-1-Zeichenkette, die von str betrachtet wird, aus dieser Zeichenkette und gibt einen Verweis auf diese Zeichenkette zurück.
Wenn cs gleich Qt::CaseSensitive ist (die Vorgabe), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Dies ist dasselbe wie replace(str, "", cs)
.
Durch das Entfernen von Elementen wird die Kapazität der Zeichenkette beibehalten und der zugewiesene Speicherplatz nicht verringert. Um zusätzliche Kapazität abzubauen und so viel Speicher wie möglich freizugeben, rufen Sie squeeze() nach der letzten Änderung der Größe der Zeichenkette auf.
Siehe auch replace().
[since 6.5]
QString &QString::removeAt(qsizetype pos)
Entfernt das Zeichen am Index pos. Wenn pos außerhalb der Grenzen liegt (d.h. pos >= size()), tut diese Funktion nichts.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch remove().
[since 6.5]
QString &QString::removeFirst()
Entfernt das erste Zeichen in dieser Zeichenkette. Wenn die Zeichenkette leer ist, tut diese Funktion nichts.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch remove().
[since 6.1]
template <typename Predicate> QString &QString::removeIf(Predicate pred)
Entfernt alle Elemente, für die das Prädikat pred true zurückgibt, aus der Zeichenkette. Gibt eine Referenz auf die Zeichenkette zurück.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch remove().
[since 6.5]
QString &QString::removeLast()
Entfernt das letzte Zeichen in dieser Zeichenkette. Wenn die Zeichenkette leer ist, tut diese Funktion nichts.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch remove().
QString::reverse_iterator QString::rend()
Gibt einen umgekehrten Iterator im STL-Stil zurück, der in umgekehrter Reihenfolge direkt auf das letzte Zeichen der Zeichenkette zeigt.
Warnung: Der zurückgegebene Iterator wird ungültig, wenn er abgetrennt wird oder wenn die QString geändert wird.
Siehe auch end(), crend(), und rbegin().
QString::const_reverse_iterator QString::rend() const
Dies ist eine überladene Funktion.
QString QString::repeated(qsizetype times) const
Gibt eine Kopie dieser Zeichenkette zurück, die die angegebene Anzahl von times wiederholt.
Wenn times kleiner als 1 ist, wird eine leere Zeichenkette zurückgegeben.
Beispiel:
QString str("ab"); str.repeated(4); // returns "abababab"
QString &QString::replace(qsizetype position, qsizetype n, const QString &after)
Ersetzt die Zeichen von n ab dem Index position durch die Zeichenfolge after und gibt einen Verweis auf diese Zeichenfolge zurück.
Hinweis: Wenn der angegebene Index position innerhalb der Zeichenkette liegt, aber position + n über den Bereich der Zeichenkette hinausgehen, wird n so angepasst, dass es am Ende der Zeichenkette endet.
Beispiel:
Siehe auch insert() und remove().
QString &QString::replace(const QRegularExpression &re, const QString &after)
Diese Funktion überlädt replace().
Ersetzt jedes Vorkommen des regulären Ausdrucks re in der Zeichenkette durch after. Gibt einen Verweis auf die Zeichenkette zurück. Ein Beispiel:
QString s = "Banana"; s.replace(QRegularExpression("a[mn]"), "ox"); // s == "Boxoxa"
Bei regulären Ausdrücken, die Erfassungsgruppen enthalten, werden die Vorkommen von \1, \2, ..., in after durch die von der entsprechenden Erfassungsgruppe erfasste Zeichenkette ersetzt.
QString t = "A <i>bon mot</i>."; t.replace(QRegularExpression("<i>([^<]*)</i>"), "\\emph{\\1}"); // t == "A \\emph{bon mot}."
Siehe auch indexOf(), lastIndexOf(), remove(), QRegularExpression, und QRegularExpressionMatch.
QString &QString::replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet replace().
Ersetzt jedes Vorkommen des Zeichens before durch das Zeichen after und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
QString &QString::replace(QChar c, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet replace().
Ersetzt jedes Vorkommen des Zeichens c durch die Zeichenfolge after und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Hinweis: Der Text wird nach einer Ersetzung nicht erneut gescannt.
QString &QString::replace(QChar ch, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet replace().
Ersetzt jedes Vorkommen des Zeichens ch in der Zeichenfolge durch after und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
QString &QString::replace(QLatin1StringView before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet replace().
Ersetzt jedes Vorkommen der Latin-1-Zeichenfolge in dieser Zeichenfolge, die von before betrachtet wird, durch die Latin-1-Zeichenfolge, die von after betrachtet wird, und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Hinweis: Der Text wird nach einer Ersetzung nicht erneut durchsucht.
Hinweis: Wenn Sie ein leeres before Argument verwenden, wird das after Argument vor und nach jedem Zeichen der Zeichenkette eingefügt.
QString &QString::replace(QLatin1StringView before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet replace().
Ersetzt jedes Vorkommen der von before betrachteten Latin-1-Zeichenfolge in dieser Zeichenfolge durch die Zeichenfolge after und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Hinweis: Der Text wird nach einer Ersetzung nicht erneut gescannt.
Hinweis: Wenn Sie ein leeres before Argument verwenden, wird das after Argument vor und nach jedem Zeichen der Zeichenkette eingefügt.
QString &QString::replace(const QString &before, QLatin1StringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet replace().
Ersetzt jedes Vorkommen der Zeichenfolge before durch die Zeichenfolge after und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Hinweis: Der Text wird nach einer Ersetzung nicht erneut gescannt.
Hinweis: Wenn Sie ein leeres Argument before verwenden, wird das Argument after vor und nach jedem Zeichen der Zeichenkette eingefügt.
QString &QString::replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet replace().
Ersetzt jedes Vorkommen der Zeichenfolge before durch die Zeichenfolge after und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Beispiel:
QString str = "colour behaviour flavour neighbour"; str.replace(QString("ou"), QString("o")); // str == "color behavior flavor neighbor"
Hinweis: Der Ersatztext wird nach dem Einfügen nicht erneut gescannt.
Beispiel:
QString equis = "xxxxxx"; equis.replace("xx", "x"); // equis == "xxx"
Hinweis: Wenn Sie ein leeres Argument before verwenden, wird das Argument after vor und nach jedem Zeichen der Zeichenkette eingefügt.
QString &QString::replace(qsizetype position, qsizetype n, QChar after)
Diese Funktion überlastet replace().
Ersetzt die Zeichen von n ab dem Index position durch das Zeichen after und gibt einen Verweis auf diese Zeichenkette zurück.
QString &QString::replace(qsizetype position, qsizetype n, const QChar *after, qsizetype alen)
Diese Funktion überlastet replace().
Ersetzt die Zeichen von n ab dem Index position durch die ersten alen Zeichen des Arrays QChar after und gibt einen Verweis auf diese Zeichenkette zurück.
QString &QString::replace(const QChar *before, qsizetype blen, const QChar *after, qsizetype alen, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Diese Funktion überlastet replace().
Ersetzt jedes Vorkommen der ersten blen Zeichen von before in dieser Zeichenfolge durch die ersten alen Zeichen von after und gibt einen Verweis auf diese Zeichenfolge zurück.
Wenn cs Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Hinweis: Wenn before auf eine leere Zeichenkette verweist (d. h. blen == 0), wird die Zeichenkette, auf die after verweist, vor und nach jedem Zeichen in dieser Zeichenkette eingefügt.
void QString::reserve(qsizetype size)
Stellt sicher, dass die Zeichenkette Platz für mindestens size Zeichen hat.
Wenn Sie im Voraus wissen, wie groß eine Zeichenkette sein wird, können Sie diese Funktion aufrufen, um eine wiederholte Neuzuweisung während der Erstellung der Zeichenkette zu vermeiden. Dies kann die Leistung beim schrittweisen Aufbau einer Zeichenkette verbessern. Eine lange Abfolge von Operationen, die zu einer Zeichenkette hinzukommen, kann mehrere Neuzuweisungen auslösen, von denen die letzte möglicherweise deutlich mehr Platz übrig lässt, als Sie benötigen. Dies ist weniger effizient als eine einzige Zuweisung in der richtigen Größe zu Beginn.
Wenn man sich nicht sicher ist, wie viel Platz benötigt wird, ist es in der Regel besser, eine Obergrenze wie size zu verwenden, oder eine hohe Schätzung der wahrscheinlichsten Größe, wenn eine strenge Obergrenze viel größer wäre als diese. Wenn size eine zu niedrige Schätzung ist, wird die Zeichenkette nach Bedarf wachsen, sobald die reservierte Größe überschritten wird, was zu einer größeren Zuweisung führen kann, als es Ihre beste Überschätzung getan hätte, und die Operation, die sie auslöst, verlangsamen wird.
Warnung: reserve() reserviert Speicher, ändert aber nicht die Größe des Strings. Der Zugriff auf Daten jenseits des Endes der Zeichenkette ist ein undefiniertes Verhalten. Wenn Sie auf Speicher jenseits des aktuellen Endes der Zeichenkette zugreifen müssen, verwenden Sie resize().
Diese Funktion ist nützlich für Code, der eine lange Zeichenkette aufbauen muss und wiederholte Neuzuweisungen vermeiden will. In diesem Beispiel wollen wir die Zeichenkette erweitern, bis eine Bedingung erfüllt ist true
, und wir sind ziemlich sicher, dass die Größe groß genug ist, damit sich ein Aufruf von reserve() lohnt:
QString result; qsizetype maxSize; bool condition; QChar nextChar; result.reserve(maxSize); while (condition) result.append(nextChar); result.squeeze();
Siehe auch squeeze(), capacity(), und resize().
void QString::resize(qsizetype size)
Setzt die Größe der Zeichenkette auf size Zeichen.
Wenn size größer als die aktuelle Größe ist, wird die Zeichenkette auf size Zeichen erweitert und die zusätzlichen Zeichen am Ende hinzugefügt. Die neuen Zeichen sind uninitialisiert.
Ist size kleiner als die aktuelle Größe, werden die Zeichen hinter der Position size aus der Zeichenkette ausgeschlossen.
Hinweis: Während resize() die Kapazität bei Bedarf vergrößert, wird sie niemals verkleinert. Um überschüssige Kapazität abzubauen, verwenden Sie squeeze().
Beispiel:
QString s = "Hello world"; s.resize(5); // s == "Hello" s.resize(8); // s == "Hello???" (where ? stands for any character)
Wenn Sie eine bestimmte Anzahl von identischen Zeichen an die Zeichenkette anhängen wollen, verwenden Sie die Überladung resize(qsizetype, QChar).
Wenn Sie die Zeichenkette so erweitern wollen, dass sie eine bestimmte Breite erreicht und die neuen Positionen mit einem bestimmten Zeichen füllen, verwenden Sie die Funktion leftJustified():
Wenn size negativ ist, ist es gleichbedeutend mit der Übergabe von Null.
QString r = "Hello"; r = r.leftJustified(10, ' '); // r == "Hello "
Siehe auch truncate(), reserve(), und squeeze().
void QString::resize(qsizetype newSize, QChar fillChar)
Dies ist eine überladene Funktion.
Im Gegensatz zu resize(qsizetype) initialisiert diese Überladung die neuen Zeichen auf fillChar:
QString t = "Hello"; r.resize(t.size() + 10, 'X'); // t == "HelloXXXXXXXXXX"
[since 6.8]
void QString::resizeForOverwrite(qsizetype size)
Setzt die Größe der Zeichenkette auf size Zeichen. Wenn die Größe der Zeichenkette wächst, werden die neuen Zeichen nicht initialisiert.
Das Verhalten ist identisch mit resize(size)
.
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch resize().
QString QString::rightJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const
Gibt eine Zeichenfolge von size() width zurück, die das Zeichen fill gefolgt von der Zeichenfolge enthält. Zum Beispiel:
Wenn truncate false
ist und size() der Zeichenkette größer ist als width, dann ist die zurückgegebene Zeichenkette eine Kopie der Zeichenkette.
Wenn truncate wahr ist und size() der Zeichenkette größer ist als width, dann wird die resultierende Zeichenkette an der Position width abgeschnitten.
QString str = "Pineapple"; str = str.rightJustified(5, '.', true); // str == "Pinea"
Siehe auch leftJustified().
QString QString::section(QChar sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
Diese Funktion gibt einen Abschnitt der Zeichenkette zurück.
Diese Zeichenfolge wird als eine Folge von Feldern behandelt, die durch das Zeichen sep getrennt sind. Die zurückgegebene Zeichenkette besteht aus den Feldern von Position start bis einschließlich Position end. Wird end nicht angegeben, werden alle Felder von Position start bis zum Ende der Zeichenkette einbezogen. Die Felder sind von links nach rechts mit 0, 1, 2 usw. und mit -1, -2 usw. nummeriert.
Mit dem Argument flags können einige Aspekte des Verhaltens der Funktion beeinflusst werden, z. B. ob Groß- und Kleinschreibung beachtet werden soll, ob leere Felder übersprungen werden sollen und wie mit führenden und nachfolgenden Trennzeichen verfahren werden soll; siehe 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"
Wenn start oder end negativ ist, werden die Felder rechts von der Zeichenkette gezählt, wobei das äußerste rechte Feld -1 ist, das äußerste rechte Feld -2 ist usw.
str = csv.section(',', -3, -2); // str == "middlename,surname" str = path.section('/', -1); // str == "myapp"
Siehe auch split().
QString QString::section(const QRegularExpression &re, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
Diese Funktion überlastet section().
Diese Zeichenkette wird als eine Folge von Feldern behandelt, die durch den regulären Ausdruck re getrennt sind.
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"
Achtung! Die Verwendung dieser QRegularExpression Version ist viel teurer als die überladenen String- und Character-Versionen.
Siehe auch split() und simplified().
QString QString::section(const QString &sep, qsizetype start, qsizetype end = -1, QString::SectionFlags flags = SectionDefault) const
Diese Funktion überlastet section().
QString str; QString data = "forename**middlename**surname**phone"; str = data.section("**", 2, 2); // str == "surname" str = data.section("**", -3, -2); // str == "middlename**surname"
Siehe auch split().
QString &QString::setNum(int n, int base = 10)
Setzt die Zeichenkette auf den gedruckten Wert von n in der angegebenen base, und gibt einen Verweis auf die Zeichenkette zurück.
Die Basis ist standardmäßig 10 und muss zwischen 2 und 36 liegen.
QString str; str.setNum(1234); // str == "1234"
Für die Formatierung wird immer QLocale::C verwendet, d. h. English/UnitedStates. Um eine lokalisierte String-Darstellung einer Zahl zu erhalten, verwenden Sie QLocale::toString() mit dem entsprechenden Gebietsschema.
Siehe auch number().
QString &QString::setNum(long n, int base = 10)
Dies ist eine überladene Funktion.
QString &QString::setNum(qlonglong n, int base = 10)
Dies ist eine überladene Funktion.
QString &QString::setNum(qulonglong n, int base = 10)
Dies ist eine überladene Funktion.
QString &QString::setNum(short n, int base = 10)
Dies ist eine überladene Funktion.
QString &QString::setNum(uint n, int base = 10)
Dies ist eine überladene Funktion.
QString &QString::setNum(ulong n, int base = 10)
Dies ist eine überladene Funktion.
QString &QString::setNum(ushort n, int base = 10)
Dies ist eine überladene Funktion.
QString &QString::setNum(double n, char format = 'g', int precision = 6)
Dies ist eine überladene Funktion.
Setzt die Zeichenkette auf den gedruckten Wert von n, formatiert entsprechend den angegebenen format und precision, und gibt einen Verweis auf die Zeichenkette zurück.
Siehe auch number(), QLocale::FloatingPointPrecisionOption, und Number Formats.
QString &QString::setNum(float n, char format = 'g', int precision = 6)
Dies ist eine überladene Funktion.
Setzt die Zeichenkette auf den gedruckten Wert von n, formatiert entsprechend den angegebenen format und precision, und gibt eine Referenz auf die Zeichenkette zurück.
Die Formatierung verwendet immer QLocale::C, d.h. English/UnitedStates. Um eine lokalisierte String-Darstellung einer Zahl zu erhalten, verwenden Sie QLocale::toString() mit dem entsprechenden Gebietsschema.
Siehe auch number().
QString &QString::setRawData(const QChar *unicode, qsizetype size)
Setzt QString zurück, um die ersten size Unicode-Zeichen im Array unicode zu verwenden. Die Daten in unicode werden nicht kopiert. Der Aufrufer muss garantieren können, dass unicode nicht gelöscht oder verändert wird, solange QString (oder eine unveränderte Kopie davon) existiert.
Diese Funktion kann anstelle von fromRawData() verwendet werden, um vorhandene QString -Objekte wiederzuverwenden und so eine erneute Speicherzuweisung zu vermeiden.
Siehe auch fromRawData().
QString &QString::setUnicode(const QChar *unicode, qsizetype size)
Ändert die Größe der Zeichenkette auf size Zeichen und kopiert unicode in die Zeichenkette.
Wenn unicode gleich nullptr
ist, wird nichts kopiert, aber die Größe der Zeichenkette wird trotzdem auf size geändert.
Siehe auch unicode() und setUtf16().
QString &QString::setUtf16(const ushort *unicode, qsizetype size)
Ändert die Größe der Zeichenkette auf size Zeichen und kopiert unicode in die Zeichenkette.
Wenn unicode gleich nullptr
ist, wird nichts kopiert, aber die Größe der Zeichenkette wird trotzdem auf size geändert.
Beachten Sie, dass diese Funktion im Gegensatz zu fromUtf16() keine BOMs und möglicherweise abweichende Byte-Reihenfolgen berücksichtigt.
Siehe auch utf16() und setUnicode().
void QString::shrink_to_fit()
Diese Funktion ist aus Gründen der STL-Kompatibilität vorgesehen. Sie ist äquivalent zu squeeze().
Siehe auch squeeze().
QString QString::simplified() const
Gibt eine Zeichenkette zurück, bei der die Leerzeichen am Anfang und am Ende entfernt wurden und bei der jede Folge von internen Leerzeichen durch ein einzelnes Leerzeichen ersetzt wurde.
Ein Leerzeichen ist jedes Zeichen, für das QChar::isSpace() true
zurückgibt. Dazu gehören die ASCII-Zeichen '\t', '\n', '\v', '\f', '\r' und ' '.
Beispiel:
QString str = " lots\t of\nwhitespace\r\n "; str = str.simplified(); // str == "lots of whitespace";
Siehe auch trimmed().
[noexcept]
qsizetype QString::size() const
Gibt die Anzahl der Zeichen in dieser Zeichenkette zurück.
Das letzte Zeichen der Zeichenkette befindet sich an der Position size() - 1.
Beispiel:
QString str = "World"; qsizetype n = str.size(); // n == 5 str.data()[0]; // returns 'W' str.data()[4]; // returns 'd'
Siehe auch isEmpty() und resize().
[since 6.8]
QString &QString::slice(qsizetype pos, qsizetype n)
Ändert diese Zeichenkette so, dass sie an der Position pos beginnt, erweitert um n Zeichen (Codepunkte) und gibt einen Verweis auf diese Zeichenkette zurück.
Hinweis: Das Verhalten ist undefiniert, wenn pos < 0, n < 0, oder pos + n > size().
QString x = u"Nine pineapples"_s; x.slice(5); // x == "pineapples" x.slice(4, 3); // x == "app"
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch sliced(), first(), last(), chopped(), chop(), und truncate().
[since 6.8]
QString &QString::slice(qsizetype pos)
Dies ist eine überladene Funktion.
Ändert diese Zeichenkette so, dass sie an der Position pos beginnt und bis zu ihrem Ende reicht, und gibt eine Referenz auf diese Zeichenkette zurück.
Hinweis: Das Verhalten ist undefiniert, wenn pos < 0 oder pos > size().
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch sliced(), first(), last(), chopped(), chop(), und truncate().
QStringList QString::split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Zerlegt die Zeichenkette an allen Stellen, an denen sep vorkommt, in Teilzeichenketten und gibt die Liste dieser Zeichenketten zurück. Wenn sep nirgendwo in der Zeichenkette vorkommt, gibt split() eine einzelelementige Liste zurück, die diese Zeichenkette enthält.
cs gibt an, ob sep unter Beachtung der Groß- und Kleinschreibung abgeglichen werden soll.
Wenn behavior gleich Qt::SkipEmptyParts ist, werden leere Einträge im Ergebnis nicht angezeigt. Standardmäßig werden leere Einträge beibehalten.
Beispiel:
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" ]
Wenn sep leer ist, gibt split() eine leere Zeichenkette zurück, gefolgt von jedem der Zeichen der Zeichenkette, gefolgt von einer weiteren leeren Zeichenkette:
Um dieses Verhalten zu verstehen, sollten Sie sich daran erinnern, dass die leere Zeichenkette überall passt, so dass das obige Beispiel qualitativ dasselbe ist wie:
QString str = "/a/b/c/"; auto parts = str.split(u'/'); // parts: {"", "a", "b", "c", ""}
Siehe auch QStringList::join() und section().
QStringList QString::split(const QRegularExpression &re, Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const
Dies ist eine überladene Funktion.
Zerlegt die Zeichenkette in Teilzeichenfolgen, auf die der reguläre Ausdruck re zutrifft, und gibt die Liste dieser Zeichenfolgen zurück. Wenn re nirgends in der Zeichenkette übereinstimmt, gibt split() eine einzelelementige Liste zurück, die diese Zeichenkette enthält.
Hier ist ein Beispiel, in dem wir die Wörter eines Satzes extrahieren, indem wir ein oder mehrere Leerzeichen als Trennzeichen verwenden:
QString str; QStringList list; str = "Some text\n\twith strange whitespace."; list = str.split(QRegularExpression("\\s+")); // list: [ "Some", "text", "with", "strange", "whitespace." ]
Hier ist ein ähnliches Beispiel, aber diesmal verwenden wir eine beliebige Folge von Nicht-Wort-Zeichen als Trennzeichen:
str = "This time, a normal English sentence."; list = str.split(QRegularExpression("\\W+"), Qt::SkipEmptyParts); // list: [ "This", "time", "a", "normal", "English", "sentence" ]
Hier ist ein drittes Beispiel, bei dem wir eine Behauptung der Länge Null, \b (Wortgrenze), verwenden, um die Zeichenfolge in eine abwechselnde Folge von Nicht-Wort- und Wort-Token aufzuteilen:
str = "Now: this sentence fragment."; list = str.split(QRegularExpression("\\b")); // list: [ "", "Now", ": ", "this", " ", "sentence", " ", "fragment", "." ]
Siehe auch QStringList::join() und section().
QStringList QString::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Dies ist eine überladene Funktion.
void QString::squeeze()
Gibt den Speicher frei, der für die Speicherung der Zeichendaten nicht benötigt wird.
Der einzige Zweck dieser Funktion ist es, eine Feinabstimmung der Speichernutzung von QString zu ermöglichen. Im Allgemeinen werden Sie diese Funktion nur selten aufrufen müssen.
Siehe auch reserve() und capacity().
bool QString::startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Gibt true
zurück, wenn die Zeichenfolge mit s beginnt; andernfalls wird false
zurückgegeben.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird zwischen Groß- und Kleinschreibung nicht unterschieden.
QString str = "Bananas"; str.startsWith("Ban"); // returns true str.startsWith("Car"); // returns false
Siehe auch endsWith().
bool QString::startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet startsWith().
Gibt true
zurück, wenn die Zeichenkette mit c beginnt; andernfalls gibt sie false
zurück.
bool QString::startsWith(QLatin1StringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Diese Funktion überlastet startsWith().
[noexcept]
bool QString::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Dies ist eine überladene Funktion.
Gibt true
zurück, wenn die Zeichenkette mit der Zeichenkettenansicht str beginnt; andernfalls gibt sie false
zurück.
Wenn cs gleich Qt::CaseSensitive ist (Standardeinstellung), wird zwischen Groß- und Kleinschreibung unterschieden; andernfalls wird die Groß- und Kleinschreibung nicht berücksichtigt.
Siehe auch endsWith().
[noexcept]
void QString::swap(QString &other)
Tauscht diese Zeichenfolge mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
CFStringRef QString::toCFString() const
Erzeugt einen CFString aus einem QString.
Der Aufrufer besitzt den CFString und ist dafür verantwortlich, ihn freizugeben.
Hinweis: Diese Funktion ist nur unter macOS und iOS verfügbar.
QString QString::toCaseFolded() const
Gibt das case folded Äquivalent der Zeichenkette zurück. Für die meisten Unicode-Zeichen ist dies dasselbe wie toLower().
double QString::toDouble(bool *ok = nullptr) const
Gibt die in einen double
-Wert konvertierte Zeichenkette zurück.
Gibt eine Unendlichkeit zurück, wenn die Konvertierung überläuft, oder 0,0, wenn die Konvertierung aus anderen Gründen fehlschlägt (z. B. Unterlauf).
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
QString str = "1234.56"; double val = str.toDouble(); // val == 1234.56
Warnung: Der Inhalt von QString darf nur gültige numerische Zeichen enthalten, darunter das Plus-/Minuszeichen, das in der wissenschaftlichen Notation verwendete Zeichen e und den Dezimalpunkt. Die Einbeziehung der Einheit oder zusätzlicher Zeichen führt zu einem Konvertierungsfehler.
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 == 0
Die Zeichenkettenkonvertierung erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toDouble()
d = QString( "1234,56" ).toDouble(&ok); // ok == false d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
Aus historischen Gründen kann diese Funktion keine Tausendergruppen-Trennzeichen verarbeiten. Wenn Sie solche Zahlen konvertieren müssen, verwenden Sie QLocale::toDouble().
d = QString( "1,234,567.89" ).toDouble(&ok); // ok == false d = QString( "1234567.89" ).toDouble(&ok); // ok == true
Diese Funktion ignoriert führende und abschließende Leerzeichen.
Siehe auch number(), QLocale::setDefault(), QLocale::toDouble(), und trimmed().
[since 6.6]
emscripten::val QString::toEcmaString() const
Konvertiert dieses Objekt in einen ECMAScript-String.
Diese Funktion wurde in Qt 6.6 eingeführt.
Siehe auch fromEcmaString().
float QString::toFloat(bool *ok = nullptr) const
Gibt die in einen float
-Wert konvertierte Zeichenkette zurück.
Gibt eine Unendlichkeit zurück, wenn die Konvertierung überläuft, oder 0,0, wenn die Konvertierung aus anderen Gründen fehlschlägt (z. B. Unterlauf).
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
Warnung: Der Inhalt von QString darf nur gültige numerische Zeichen enthalten, darunter das Plus-/Minuszeichen, das in der wissenschaftlichen Notation verwendete Zeichen e und den Dezimalpunkt. Die Einbeziehung der Einheit oder zusätzlicher Zeichen führt zu einem Konvertierungsfehler.
Die Zeichenkettenkonvertierung erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toFloat()
Aus historischen Gründen kann diese Funktion keine Tausendergruppen-Trennzeichen verarbeiten. Wenn Sie solche Zahlen konvertieren müssen, verwenden Sie QLocale::toFloat().
Beispiel:
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 false
Diese Funktion ignoriert führende und nachfolgende Leerzeichen.
Siehe auch number(), toDouble(), toInt(), QLocale::toFloat(), und trimmed().
QString QString::toHtmlEscaped() const
Konvertiert eine reine Textzeichenfolge in eine HTML-Zeichenfolge, wobei die HTML-Metazeichen <
, >
, &
und "
durch HTML-Entities ersetzt werden.
Beispiel:
QString plain = "#include <QtCore>" QString html = plain.toHtmlEscaped(); // html == "#include <QtCore>"
int QString::toInt(bool *ok = nullptr, int base = 10) const
Gibt die in int
konvertierte Zeichenkette zurück, wobei die Basis base verwendet wird, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss, oder 0. Gibt 0 zurück, wenn die Konvertierung fehlschlägt.
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
Wenn base gleich 0 ist, wird die Konvention der Sprache C verwendet: Wenn die Zeichenkette mit "0x" beginnt, wird die Basis 16 verwendet; andernfalls, wenn die Zeichenkette mit "0b" beginnt, wird die Basis 2 verwendet; andernfalls, wenn die Zeichenkette mit "0" beginnt, wird die Basis 8 verwendet; andernfalls wird die Basis 10 verwendet.
Die Konvertierung von Zeichenketten erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toInt()
Beispiel:
QString str = "FF"; bool ok; int hex = str.toInt(&ok, 16); // hex == 255, ok == true int dec = str.toInt(&ok, 10); // dec == 0, ok == false
Diese Funktion ignoriert führende und abschließende Whitespace-Zeichen.
Hinweis: Unterstützung für das Präfix "0b" wurde in Qt 6.4 hinzugefügt.
Siehe auch number(), toUInt(), toDouble(), und QLocale::toInt().
QByteArray QString::toLatin1() const
Gibt eine Latin-1-Darstellung der Zeichenkette als QByteArray zurück.
Das zurückgegebene Byte-Array ist undefiniert, wenn die Zeichenkette nicht-lateinische1 Zeichen enthält. Diese Zeichen können unterdrückt oder durch ein Fragezeichen ersetzt werden.
Siehe auch fromLatin1(), toUtf8(), toLocal8Bit(), und QStringEncoder.
QByteArray QString::toLocal8Bit() const
Gibt die lokale 8-Bit-Darstellung des Strings als QByteArray zurück.
Auf Unix-Systemen ist dies äquivalent zu toUtf8(). Beachten Sie, dass diese Funktion auf Apple-Systemen NSString.defaultCStringEncoding oder CFStringGetSystemEncoding() nicht berücksichtigt, da diese Funktionen typischerweise die veraltete "Western (Mac OS Roman)"-Kodierung zurückgeben, die auf modernen Apple-Betriebssystemen nicht verwendet werden sollte. Unter Windows wird die aktuelle Codepage des Systems verwendet.
Wenn diese Zeichenkette Zeichen enthält, die nicht in der lokalen 8-Bit-Kodierung kodiert werden können, ist das zurückgegebene Byte-Array undefiniert. Diese Zeichen können unterdrückt oder durch andere ersetzt werden.
Siehe auch fromLocal8Bit(), toLatin1(), toUtf8(), und QStringEncoder.
long QString::toLong(bool *ok = nullptr, int base = 10) const
Gibt die in long
konvertierte Zeichenkette unter Verwendung der Basis base zurück, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss, oder 0. Gibt 0 zurück, wenn die Konvertierung fehlschlägt.
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
Wenn base gleich 0 ist, wird die Konvention der Sprache C verwendet: Wenn die Zeichenkette mit "0x" beginnt, wird die Basis 16 verwendet; andernfalls, wenn die Zeichenkette mit "0b" beginnt, wird die Basis 2 verwendet; andernfalls, wenn die Zeichenkette mit "0" beginnt, wird die Basis 8 verwendet; andernfalls wird die Basis 10 verwendet.
Die Konvertierung von Zeichenketten erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toLongLong()
Beispiel:
QString str = "FF"; bool ok; long hex = str.toLong(&ok, 16); // hex == 255, ok == true long dec = str.toLong(&ok, 10); // dec == 0, ok == false
Diese Funktion ignoriert führende und abschließende Whitespace-Zeichen.
Hinweis: Unterstützung für das Präfix "0b" wurde in Qt 6.4 hinzugefügt.
Siehe auch number(), toULong(), toInt(), und QLocale::toInt().
qlonglong QString::toLongLong(bool *ok = nullptr, int base = 10) const
Gibt die in long long
konvertierte Zeichenkette unter Verwendung der Basis base zurück, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss, oder 0. Gibt 0 zurück, wenn die Konvertierung fehlschlägt.
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
Wenn base gleich 0 ist, wird die Konvention der Sprache C verwendet: Wenn die Zeichenkette mit "0x" beginnt, wird die Basis 16 verwendet; andernfalls, wenn die Zeichenkette mit "0b" beginnt, wird die Basis 2 verwendet; andernfalls, wenn die Zeichenkette mit "0" beginnt, wird die Basis 8 verwendet; andernfalls wird die Basis 10 verwendet.
Die Konvertierung von Zeichenketten erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toLongLong()
Beispiel:
QString str = "FF"; bool ok; qint64 hex = str.toLongLong(&ok, 16); // hex == 255, ok == true qint64 dec = str.toLongLong(&ok, 10); // dec == 0, ok == false
Diese Funktion ignoriert führende und abschließende Leerzeichen.
Hinweis: Unterstützung für das Präfix "0b" wurde in Qt 6.4 hinzugefügt.
Siehe auch number(), toULongLong(), toInt(), und QLocale::toLongLong().
QString QString::toLower() const
Gibt eine Kopie der Zeichenkette in Kleinbuchstaben zurück.
QString str = "The Qt PROJECT"; str = str.toLower(); // str == "the qt project"
Die Groß-/Kleinschreibung wird immer im Gebietsschema 'C' konvertiert. Für lokalabhängige Groß- und Kleinschreibung verwenden Sie QLocale::toLower()
Siehe auch toUpper() und QLocale::toLower().
NSString *QString::toNSString() const
Erzeugt einen NSString aus einem QString.
Der NSString wird automatisch wieder freigegeben.
Hinweis: Diese Funktion ist nur unter macOS und iOS verfügbar.
short QString::toShort(bool *ok = nullptr, int base = 10) const
Gibt die in short
konvertierte Zeichenkette unter Verwendung der Basis base zurück, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss, oder 0. Gibt 0 zurück, wenn die Konvertierung fehlschlägt.
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
Wenn base gleich 0 ist, wird die Konvention der Sprache C verwendet: Wenn die Zeichenkette mit "0x" beginnt, wird die Basis 16 verwendet; andernfalls, wenn die Zeichenkette mit "0b" beginnt, wird die Basis 2 verwendet; andernfalls, wenn die Zeichenkette mit "0" beginnt, wird die Basis 8 verwendet; andernfalls wird die Basis 10 verwendet.
Die Konvertierung von Zeichenketten erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toShort()
Beispiel:
QString str = "FF"; bool ok; short hex = str.toShort(&ok, 16); // hex == 255, ok == true short dec = str.toShort(&ok, 10); // dec == 0, ok == false
Diese Funktion ignoriert führende und abschließende Leerzeichen.
Hinweis: Unterstützung für das Präfix "0b" wurde in Qt 6.4 hinzugefügt.
Siehe auch number(), toUShort(), toInt(), und QLocale::toShort().
std::string QString::toStdString() const
Gibt ein std::string-Objekt mit den in diesem QString enthaltenen Daten zurück. Die Unicode-Daten werden mit der Funktion toUtf8() in 8-Bit-Zeichen umgewandelt.
Diese Methode ist vor allem nützlich, um eine QString an eine Funktion zu übergeben, die ein std::string-Objekt akzeptiert.
Siehe auch toLatin1(), toUtf8(), toLocal8Bit(), und QByteArray::toStdString().
std::u16string QString::toStdU16String() const
Gibt ein std::u16string-Objekt mit den in diesem QString enthaltenen Daten zurück. Die Unicode-Daten sind dieselben, die von der Methode utf16() zurückgegeben werden.
Siehe auch utf16(), toStdWString(), und toStdU32String().
std::u32string QString::toStdU32String() const
Gibt ein std::u32string-Objekt mit den in diesem QString enthaltenen Daten zurück. Die Unicode-Daten sind dieselben, die von der Methode toUcs4() zurückgegeben werden.
Siehe auch toUcs4(), toStdWString(), und toStdU16String().
std::wstring QString::toStdWString() const
Gibt ein std::wstring-Objekt mit den in diesem QString enthaltenen Daten zurück. Der std::wstring ist auf Plattformen, auf denen wchar_t 2 Bytes breit ist (z. B. Windows), in UTF-16 und auf Plattformen, auf denen wchar_t 4 Bytes breit ist (die meisten Unix-Systeme), in UTF-32 kodiert.
Diese Methode ist vor allem nützlich, um eine QString an eine Funktion zu übergeben, die ein std::wstring-Objekt akzeptiert.
Siehe auch utf16(), toLatin1(), toUtf8(), toLocal8Bit(), toStdU16String(), und toStdU32String().
uint QString::toUInt(bool *ok = nullptr, int base = 10) const
Gibt die in unsigned int
konvertierte Zeichenkette zurück, wobei die Basis base verwendet wird, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss, oder 0. Gibt 0 zurück, wenn die Konvertierung fehlschlägt.
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
Wenn base gleich 0 ist, wird die Konvention der Sprache C verwendet: Wenn die Zeichenkette mit "0x" beginnt, wird die Basis 16 verwendet; andernfalls, wenn die Zeichenkette mit "0b" beginnt, wird die Basis 2 verwendet; andernfalls, wenn die Zeichenkette mit "0" beginnt, wird die Basis 8 verwendet; andernfalls wird die Basis 10 verwendet.
Die Konvertierung von Zeichenketten erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toUInt()
Beispiel:
QString str = "FF"; bool ok; uint hex = str.toUInt(&ok, 16); // hex == 255, ok == true uint dec = str.toUInt(&ok, 10); // dec == 0, ok == false
Diese Funktion ignoriert führende und abschließende Whitespace-Zeichen.
Hinweis: Unterstützung für das Präfix "0b" wurde in Qt 6.4 hinzugefügt.
Siehe auch number(), toInt(), und QLocale::toUInt().
ulong QString::toULong(bool *ok = nullptr, int base = 10) const
Gibt die in unsigned long
konvertierte Zeichenkette zurück, wobei die Basis base verwendet wird, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss, oder 0. Gibt 0 zurück, wenn die Konvertierung fehlschlägt.
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
Wenn base gleich 0 ist, wird die Konvention der Sprache C verwendet: Wenn die Zeichenkette mit "0x" beginnt, wird die Basis 16 verwendet; andernfalls, wenn die Zeichenkette mit "0b" beginnt, wird die Basis 2 verwendet; andernfalls, wenn die Zeichenkette mit "0" beginnt, wird die Basis 8 verwendet; andernfalls wird die Basis 10 verwendet.
Die Konvertierung von Zeichenketten erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toULongLong()
Beispiel:
QString str = "FF"; bool ok; ulong hex = str.toULong(&ok, 16); // hex == 255, ok == true ulong dec = str.toULong(&ok, 10); // dec == 0, ok == false
Diese Funktion ignoriert führende und abschließende Whitespace-Zeichen.
Hinweis: Unterstützung für das Präfix "0b" wurde in Qt 6.4 hinzugefügt.
Siehe auch number() und QLocale::toUInt().
qulonglong QString::toULongLong(bool *ok = nullptr, int base = 10) const
Gibt die in unsigned long long
konvertierte Zeichenkette zurück, wobei die Basis base verwendet wird, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss, oder 0. Gibt 0 zurück, wenn die Konvertierung fehlschlägt.
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
Wenn base gleich 0 ist, wird die Konvention der Sprache C verwendet: Wenn die Zeichenkette mit "0x" beginnt, wird die Basis 16 verwendet; andernfalls, wenn die Zeichenkette mit "0b" beginnt, wird die Basis 2 verwendet; andernfalls, wenn die Zeichenkette mit "0" beginnt, wird die Basis 8 verwendet; andernfalls wird die Basis 10 verwendet.
Die Konvertierung von Zeichenketten erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toULongLong()
Beispiel:
QString str = "FF"; bool ok; quint64 hex = str.toULongLong(&ok, 16); // hex == 255, ok == true quint64 dec = str.toULongLong(&ok, 10); // dec == 0, ok == false
Diese Funktion ignoriert führende und abschließende Whitespace-Zeichen.
Hinweis: Unterstützung für das Präfix "0b" wurde in Qt 6.4 hinzugefügt.
Siehe auch number(), toLongLong(), und QLocale::toULongLong().
ushort QString::toUShort(bool *ok = nullptr, int base = 10) const
Gibt die in unsigned short
konvertierte Zeichenkette zurück, wobei die Basis base verwendet wird, die standardmäßig 10 ist und zwischen 2 und 36 liegen muss, oder 0. Gibt 0 zurück, wenn die Konvertierung fehlschlägt.
Wenn ok nicht nullptr
ist, wird ein Fehler durch Setzen von *ok auf false
und ein Erfolg durch Setzen von *ok auf true
gemeldet.
Wenn base gleich 0 ist, wird die Konvention der Sprache C verwendet: Wenn die Zeichenkette mit "0x" beginnt, wird die Basis 16 verwendet; andernfalls, wenn die Zeichenkette mit "0b" beginnt, wird die Basis 2 verwendet; andernfalls, wenn die Zeichenkette mit "0" beginnt, wird die Basis 8 verwendet; andernfalls wird die Basis 10 verwendet.
Die Konvertierung von Zeichenketten erfolgt immer im Gebietsschema 'C'. Für eine ortsabhängige Konvertierung verwenden Sie QLocale::toUShort()
Beispiel:
QString str = "FF"; bool ok; ushort hex = str.toUShort(&ok, 16); // hex == 255, ok == true ushort dec = str.toUShort(&ok, 10); // dec == 0, ok == false
Diese Funktion ignoriert führende und abschließende Whitespace-Zeichen.
Hinweis: Unterstützung für das Präfix "0b" wurde in Qt 6.4 hinzugefügt.
Siehe auch number(), toShort(), und QLocale::toUShort().
QList<uint> QString::toUcs4() const
Gibt eine UCS-4/UTF-32-Darstellung der Zeichenkette als QList<uint> zurück.
UTF-32 ist ein Unicode-Codec und daher verlustfrei. Alle Zeichen dieser Zeichenkette werden in UTF-32 kodiert. Jede ungültige Folge von Codeeinheiten in dieser Zeichenfolge wird durch das Unicode-Ersatzzeichen (QChar::ReplacementCharacter, das U+FFFD
entspricht ) ersetzt.
Die zurückgegebene Liste ist nicht \0'-terminiert.
Siehe auch fromUtf8(), toUtf8(), toLatin1(), toLocal8Bit(), QStringEncoder, fromUcs4(), und toWCharArray().
QString QString::toUpper() const
Gibt eine Kopie der Zeichenkette in Großbuchstaben zurück.
QString str = "TeXt"; str = str.toUpper(); // str == "TEXT"
Die Groß-/Kleinschreibung wird immer im Gebietsschema 'C' konvertiert. Für lokalabhängige Groß- und Kleinschreibung verwenden Sie QLocale::toUpper().
Hinweis: In einigen Fällen kann die Großbuchstabenform einer Zeichenkette länger sein als das Original.
Siehe auch toLower() und QLocale::toLower().
QByteArray QString::toUtf8() const
Gibt eine UTF-8-Darstellung der Zeichenkette als QByteArray zurück.
UTF-8 ist ein Unicode-Codec und kann alle Zeichen in einer Unicode-Zeichenfolge wie QString darstellen.
Siehe auch fromUtf8(), toLatin1(), toLocal8Bit(), und QStringEncoder.
qsizetype QString::toWCharArray(wchar_t *array) const
Füllt die array mit den in diesem QString Objekt enthaltenen Daten. Das Array ist in UTF-16 auf Plattformen kodiert, auf denen wchar_t 2 Bytes breit ist (z.B. Windows) und in UTF-32 auf Plattformen, auf denen wchar_t 4 Bytes breit ist (die meisten Unix-Systeme).
array muss vom Aufrufer allokiert werden und genügend Platz für die komplette Zeichenkette enthalten (die Allokation des Arrays mit der gleichen Länge wie die Zeichenkette ist immer ausreichend).
Diese Funktion gibt die tatsächliche Länge des Strings in array zurück.
Hinweis: Diese Funktion fügt kein Null-Zeichen an das Array an.
Siehe auch utf16(), toUcs4(), toLatin1(), toUtf8(), toLocal8Bit(), toStdWString(), und QStringView::toWCharArray().
QString QString::trimmed() const
Gibt eine Zeichenkette zurück, bei der Leerzeichen am Anfang und am Ende entfernt wurden.
Leerzeichen sind alle Zeichen, für die QChar::isSpace() true
zurückgibt. Dazu gehören die ASCII-Zeichen '\t', '\n', '\v', '\f', '\r' und ' '.
Beispiel:
QString str = " lots\t of\nwhitespace\r\n "; str = str.trimmed(); // str == "lots\t of\nwhitespace"
Im Gegensatz zu simplified() lässt trimmed() interne Leerzeichen unberücksichtigt.
Siehe auch simplified().
void QString::truncate(qsizetype position)
Schneidet die Zeichenkette am angegebenen position Index ab.
Wenn der angegebene position Index hinter dem Ende der Zeichenkette liegt, passiert nichts.
Beispiel:
QString str = "Vladivostok"; str.truncate(4); // str == "Vlad"
Wenn position negativ ist, ist dies gleichbedeutend mit der Übergabe von Null.
Siehe auch chop(), resize(), first(), und QStringView::truncate().
const QChar *QString::unicode() const
Gibt eine Unicode-Darstellung der Zeichenkette zurück. Das Ergebnis bleibt gültig, bis die Zeichenfolge geändert wird.
Hinweis: Die zurückgegebene Zeichenkette darf nicht '\0'-terminiert sein. Verwenden Sie size(), um die Länge des Arrays zu ermitteln.
Siehe auch setUnicode(), utf16(), und fromRawData().
const ushort *QString::utf16() const
Gibt die QString als '\0'-abgeschlossenes Array von vorzeichenlosen Shorts zurück. Das Ergebnis bleibt gültig, bis die Zeichenkette geändert wird.
Die zurückgegebene Zeichenkette ist in Host-Byte-Reihenfolge.
Siehe auch setUtf16() und unicode().
[static]
QString QString::vasprintf(const char *cformat, va_list ap)
Äquivalente Methode zu asprintf(), nimmt aber eine va_list ap statt einer Liste von Variablenargumenten. Siehe die Dokumentation asprintf() für eine Erklärung von cformat.
Diese Methode ruft das Makro va_end nicht auf, der Aufrufer ist dafür verantwortlich, va_end auf ap aufzurufen.
Siehe auch asprintf().
[noexcept, since 6.7]
std::u16string_view QString::operator std::u16string_view() const
Konvertiert dieses QString Objekt in ein std::u16string_view
Objekt.
Diese Funktion wurde in Qt 6.7 eingeführt.
QString &QString::operator+=(const QString &other)
Hängt die Zeichenfolge other an das Ende dieser Zeichenfolge an und gibt einen Verweis auf diese Zeichenfolge zurück.
Beispiel:
Dieser Vorgang ist in der Regel sehr schnell(konstante Zeit), da QString zusätzlichen Speicherplatz am Ende der Zeichenkettendaten zuweist, so dass diese wachsen können, ohne jedes Mal die gesamte Zeichenkette neu zuzuweisen.
Siehe auch append() und prepend().
QString &QString::operator+=(QChar ch)
Diese Funktion überlastet operator+=().
Hängt das Zeichen ch an die Zeichenkette an.
QString &QString::operator+=(QLatin1StringView str)
Diese Funktion überlastet operator+=().
Hängt die Latin-1-Zeichenkette, die von str angezeigt wird, an diese Zeichenkette an.
[since 6.0]
QString &QString::operator+=(QStringView str)
Diese Funktion überlastet operator+=().
Hängt den String view str an diesen String an.
Diese Funktion wurde in Qt 6.0 eingeführt.
[since 6.5]
QString &QString::operator+=(QUtf8StringView str)
Diese Funktion überlastet operator+=().
Hängt die UTF-8-Stringansicht str an diesen String an.
Diese Funktion wurde in Qt 6.5 eingeführt.
QString &QString::operator+=(const QByteArray &ba)
Diese Funktion überlastet operator+=().
Hängt das Byte-Array ba an diese Zeichenkette an. Das Byte-Array wird mit der Funktion fromUtf8() in Unicode konvertiert. Wenn NUL-Zeichen ('\0') in das Byte-Array ba eingebettet sind, werden sie in die Umwandlung einbezogen.
Sie können diese Funktion deaktivieren, indem Sie beim Kompilieren Ihrer Anwendungen QT_NO_CAST_FROM_ASCII definieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() laufen.
QString &QString::operator+=(const char *str)
Diese Funktion überlastet operator+=().
Hängt die Zeichenfolge str an diese Zeichenfolge an. Der const char-Zeiger wird mit der Funktion fromUtf8() in Unicode konvertiert.
Sie können diese Funktion deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten die Funktion QObject::tr() durchlaufen.
[noexcept]
QString &QString::operator=(QString &&other)
Verschieben - weist other dieser QString Instanz zu.
[noexcept]
QString &QString::operator=(const QString &other)
Weist dieser Zeichenkette other zu und gibt eine Referenz auf diese Zeichenkette zurück.
QString &QString::operator=(QChar ch)
Diese Funktion überlastet operator=().
Setzt die Zeichenkette so, dass sie das einzelne Zeichen ch enthält.
QString &QString::operator=(QLatin1StringView str)
Diese Funktion überlastet operator=().
Weist die Latin-1-Zeichenkette, die von str angezeigt wird, dieser Zeichenkette zu.
QString &QString::operator=(const QByteArray &ba)
Diese Funktion überlastet operator=().
Weist dieser Zeichenkette ba zu. Das Byte-Array wird mit der Funktion fromUtf8() in Unicode konvertiert.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() laufen.
QString &QString::operator=(const char *str)
Diese Funktion überlastet operator=().
Weist dieser Zeichenkette str zu. Der const char-Zeiger wird mit der Funktion fromUtf8() in Unicode umgewandelt.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII oder QT_RESTRICTED_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten die Funktion QObject::tr() durchlaufen.
QChar &QString::operator[](qsizetype position)
Gibt das Zeichen an der angegebenen Adresse position in der Zeichenkette als änderbare Referenz zurück.
Beispiel:
Siehe auch at().
const QChar QString::operator[](qsizetype position) const
Diese Funktion überlastet operator[]().
Verwandte Nicht-Mitglieder
QString operator+(QString &&s1, const QString &s2)
QString operator+(const QString &s1, const QString &s2)
Gibt eine Zeichenkette zurück, die das Ergebnis der Verkettung von s1 und s2 ist.
[since 6.1]
template <typename T> qsizetype erase(QString &s, const T &t)
Entfernt alle Elemente, die gleich t sind, aus der Zeichenkette s. Gibt die Anzahl der entfernten Elemente zurück, falls vorhanden.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch erase_if.
[since 6.1]
template <typename Predicate> qsizetype erase_if(QString &s, Predicate pred)
Entfernt alle Elemente, für die das Prädikat pred den Wert true liefert, aus der Zeichenkette s. Gibt die Anzahl der entfernten Elemente zurück, falls vorhanden.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch erase.
[noexcept]
bool operator!=(const QByteArray &lhs, const QString &rhs)
Gibt true
zurück, wenn das Byte-Array lhs nicht mit der UTF-8-Kodierung von rhs übereinstimmt; andernfalls wird false
zurückgegeben.
Der Vergleich unterscheidet zwischen Groß- und Kleinschreibung.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII
definieren, wenn Sie Ihre Anwendungen kompilieren. Sie müssen dann QString::fromUtf8(), QString::fromLatin1() oder QString::fromLocal8Bit() explizit aufrufen, wenn Sie das Byte-Array vor dem Vergleich in QString umwandeln wollen.
[noexcept]
bool operator!=(const QString &lhs, const QString &rhs)
Gibt true
zurück, wenn die Zeichenkette lhs nicht gleich der Zeichenkette rhs ist; andernfalls wird false
zurückgegeben.
Siehe auch Comparing Strings.
[noexcept]
bool operator!=(const char *const &lhs, const QString &rhs)
Gibt true
zurück, wenn lhs nicht gleich rhs ist; andernfalls wird false
zurückgegeben.
Für lhs!= 0 ist dies gleichbedeutend mit compare(
lhs , rhs ) != 0
. Beachten Sie, dass keine Zeichenkette gleich lhs gleich 0 ist.
[noexcept]
bool operator!=(const QString &lhs, const QByteArray &rhs)
Diese Funktion überlädt den Operator!=().
Das Byte-Array rhs wird in QUtf8StringView umgewandelt. Wenn NUL-Zeichen ('\0') in das Byte-Array eingebettet sind, werden sie in die Umwandlung einbezogen.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() gehen.
[noexcept]
bool operator!=(const QString &lhs, const QLatin1StringView &rhs)
Gibt true
zurück, wenn die Zeichenkette lhs nicht gleich der Zeichenkette rhs ist. Andernfalls wird false
zurückgegeben.
Diese Funktion überlastet operator!=().
[noexcept]
bool operator!=(const QString &lhs, const char *const &rhs)
Diese Funktion überlastet operator!=().
Der rhs const char-Zeiger wird in einen QUtf8StringView umgewandelt.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() laufen.
[noexcept, since 6.4]
QString operator""_s(const char16_t *str, size_t size)
Literal-Operator, der ein QString aus den ersten size Zeichen im char16_t String-Literal str erzeugt.
Die QString wird zur Kompilierzeit erstellt, und die erzeugten Zeichenkettendaten werden im schreibgeschützten Segment der kompilierten Objektdatei gespeichert. Doppelte Literale können sich denselben Nur-Lese-Speicher teilen. Diese Funktionalität ist austauschbar mit QStringLiteral, spart aber Tipparbeit, wenn viele String-Literale im Code vorhanden sind.
Der folgende Code erzeugt ein QString:
using namespace Qt::Literals::StringLiterals; auto str = u"hello"_s;
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch Qt::Literals::StringLiterals.
QString operator+(const QString &s1, const char *s2)
Gibt eine Zeichenkette zurück, die das Ergebnis der Verkettung von s1 und s2 ist (s2 wird mit der Funktion QString::fromUtf8() in Unicode umgewandelt).
Siehe auch QString::fromUtf8().
QString operator+(const char *s1, const QString &s2)
Gibt eine Zeichenkette zurück, die das Ergebnis der Verkettung von s1 und s2 ist (s1 wird mit der Funktion QString::fromUtf8() in Unicode umgewandelt).
Siehe auch QString::fromUtf8().
[noexcept]
bool operator<(const QByteArray &lhs, const QString &rhs)
Gibt true
zurück, wenn das Byte-Array lhs lexikalisch kleiner ist als die UTF-8-Kodierung von rhs; andernfalls wird false
zurückgegeben.
Der Vergleich unterscheidet zwischen Groß- und Kleinschreibung.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII
definieren, wenn Sie Ihre Anwendungen kompilieren. Sie müssen dann QString::fromUtf8(), QString::fromLatin1() oder QString::fromLocal8Bit() explizit aufrufen, wenn Sie das Byte-Array vor dem Vergleich in QString umwandeln wollen.
[noexcept]
bool operator<(const char *const &lhs, const QString &rhs)
Gibt true
zurück, wenn lhs lexikalisch kleiner ist als rhs; andernfalls wird false
zurückgegeben. Für lhs!= 0 ist dies gleichbedeutend mit compare(lhs, rhs) < 0
.
Siehe auch Comparing Strings.
[noexcept]
bool operator<(const QLatin1StringView &lhs, const QString &rhs)
Diese Funktion überlädt operator<().
Gibt true
zurück, wenn lhs lexikalisch kleiner ist als rhs; andernfalls gibt sie false
zurück.
[noexcept]
bool operator<(const QString &lhs, const QByteArray &rhs)
Diese Funktion überlastet operator<().
Das Byte-Array rhs wird in ein QUtf8StringView umgewandelt. Wenn NUL-Zeichen ('\0') in das Byte-Array eingebettet sind, werden sie in die Umwandlung einbezogen.
Sie können diesen Operator QT_NO_CAST_FROM_ASCII deaktivieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() gehen.
[noexcept]
bool operator<(const QString &lhs, const QLatin1StringView &rhs)
Diese Funktion überlädt operator<().
Gibt true
zurück, wenn lhs lexikalisch kleiner ist als rhs; andernfalls gibt sie false
zurück.
[noexcept]
bool operator<(const QString &lhs, const QString &rhs)
Diese Funktion überlädt operator<().
Gibt true
zurück, wenn die Zeichenkette lhs lexikalisch kleiner ist als die Zeichenkette rhs; andernfalls gibt sie false
zurück.
Siehe auch Comparing Strings.
[noexcept]
bool operator<(const QString &lhs, const char *const &rhs)
Gibt true
zurück, wenn die Zeichenkette lhs lexikalisch kleiner ist als die Zeichenkette rhs. Andernfalls wird false
zurückgegeben.
Diese Funktion überlastet operator<().
Der rhs const char-Zeiger wird in einen QUtf8StringView umgewandelt.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z.B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Strings QObject::tr() durchlaufen.
QDataStream &operator<<(QDataStream &stream, const QString &string)
Schreibt die angegebene string in die angegebene stream.
Siehe auch Serialisierung von Qt-Datentypen.
[noexcept]
bool operator<=(const QByteArray &lhs, const QString &rhs)
Gibt true
zurück, wenn das Byte-Array lhs lexikalisch kleiner oder gleich der UTF-8-Kodierung von rhs ist; andernfalls wird false
zurückgegeben.
Der Vergleich unterscheidet zwischen Groß- und Kleinschreibung.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII
definieren, wenn Sie Ihre Anwendungen kompilieren. Sie müssen dann QString::fromUtf8(), QString::fromLatin1() oder QString::fromLocal8Bit() explizit aufrufen, wenn Sie das Byte-Array vor dem Vergleich in QString umwandeln wollen.
[noexcept]
bool operator<=(const QString &lhs, const QString &rhs)
Gibt true
zurück, wenn die Zeichenkette lhs lexikalisch kleiner oder gleich der Zeichenkette rhs ist; andernfalls wird false
zurückgegeben.
Siehe auch Comparing Strings.
[noexcept]
bool operator<=(const char *const &lhs, const QString &rhs)
Gibt true
zurück, wenn lhs lexikalisch kleiner oder gleich rhs ist; andernfalls wird false
zurückgegeben. Für lhs!= 0 ist dies gleichbedeutend mit compare(lhs, rhs) <= 0
.
Siehe auch Comparing Strings.
[noexcept]
bool operator<=(const QLatin1StringView &lhs, const QString &rhs)
Diese Funktion überlädt operator<=().
Gibt true
zurück, wenn lhs lexikalisch kleiner oder gleich rhs ist; andernfalls gibt sie false
zurück.
[noexcept]
bool operator<=(const QString &lhs, const QByteArray &rhs)
Diese Funktion überlastet operator<=().
Das Byte-Array rhs wird in QUtf8StringView umgewandelt. Wenn NUL-Zeichen ('\0') in das Byte-Array eingebettet sind, werden sie in die Umwandlung einbezogen.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() gehen.
[noexcept]
bool operator<=(const QString &lhs, const QLatin1StringView &rhs)
Diese Funktion überlädt operator<=().
Gibt true
zurück, wenn lhs lexikalisch kleiner oder gleich rhs ist; andernfalls gibt sie false
zurück.
[noexcept]
bool operator<=(const QString &lhs, const char *const &rhs)
Diese Funktion überlädt operator<=().
Der rhs const char-Zeiger wird in einen QUtf8StringView umgewandelt.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z.B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() gehen.
[noexcept]
bool operator==(const QByteArray &lhs, const QString &rhs)
Gibt true
zurück, wenn das Byte-Array lhs mit der UTF-8-Kodierung von rhs übereinstimmt; andernfalls wird false
zurückgegeben.
Der Vergleich unterscheidet zwischen Groß- und Kleinschreibung.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII
definieren, wenn Sie Ihre Anwendungen kompilieren. Sie müssen dann QString::fromUtf8(), QString::fromLatin1() oder QString::fromLocal8Bit() explizit aufrufen, wenn Sie das Byte-Array vor dem Vergleich in QString umwandeln wollen.
[noexcept]
bool operator==(const QLatin1StringView &lhs, const QString &rhs)
Diese Funktion überlastet operator==().
Gibt true
zurück, wenn lhs gleich rhs ist; andernfalls gibt sie false
zurück.
[noexcept]
bool operator==(const QString &lhs, const QByteArray &rhs)
Diese Funktion überlastet operator==().
Das Byte-Array rhs wird in ein QUtf8StringView umgewandelt.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Strings QObject::tr() durchlaufen.
Gibt true
zurück, wenn die Zeichenkette lhs lexikalisch mit rhs übereinstimmt. Andernfalls wird false
zurückgegeben.
[noexcept]
bool operator==(const QString &lhs, const QLatin1StringView &rhs)
Diese Funktion überlastet operator==().
Gibt true
zurück, wenn lhs gleich rhs ist; andernfalls gibt sie false
zurück.
[noexcept]
bool operator==(const QString &lhs, const QString &rhs)
Diese Funktion überlastet operator==().
Gibt true
zurück, wenn die Zeichenkette lhs gleich der Zeichenkette rhs ist; andernfalls gibt sie false
zurück.
Hinweis: Diese Funktion behandelt Null-Strings genauso wie leere Strings, für weitere Details siehe Distinction Between Null and Empty Strings.
Siehe auch Comparing Strings.
[noexcept]
bool operator==(const QString &lhs, const char *const &rhs)
Diese Funktion überlastet operator==().
Der rhs const char-Zeiger wird in einen QUtf8StringView umgewandelt.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z.B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() gehen.
[noexcept]
bool operator==(const char *const &lhs, const QString &rhs)
Diese Funktion überlastet operator==().
Gibt true
zurück, wenn lhs gleich rhs ist; andernfalls gibt sie false
zurück. Beachten Sie, dass keine Zeichenkette gleich lhs gleich 0 ist.
Äquivalent zu lhs != 0 && compare(lhs, rhs) == 0
.
[noexcept]
bool operator>(const QByteArray &lhs, const QString &rhs)
Gibt true
zurück, wenn das Byte-Array lhs lexikalisch größer ist als die UTF-8-Kodierung von rhs; andernfalls wird false
zurückgegeben.
Der Vergleich unterscheidet zwischen Groß- und Kleinschreibung.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII
definieren, wenn Sie Ihre Anwendungen kompilieren. Sie müssen dann QString::fromUtf8(), QString::fromLatin1() oder QString::fromLocal8Bit() explizit aufrufen, wenn Sie das Byte-Array vor dem Vergleich in QString umwandeln wollen.
[noexcept]
bool operator>(const QString &lhs, const QString &rhs)
Gibt true
zurück, wenn die Zeichenkette lhs lexikalisch größer ist als die Zeichenkette rhs; andernfalls wird false
zurückgegeben.
Siehe auch Comparing Strings.
[noexcept]
bool operator>(const char *const &lhs, const QString &rhs)
Gibt true
zurück, wenn lhs lexikalisch größer ist als rhs; andernfalls wird false
zurückgegeben. Äquivalent zu compare(lhs, rhs) > 0
.
Siehe auch Comparing Strings.
[noexcept]
bool operator>(const QLatin1StringView &lhs, const QString &rhs)
Diese Funktion überlastet operator>().
Gibt true
zurück, wenn lhs lexikalisch größer ist als rhs; andernfalls gibt sie false
zurück.
[noexcept]
bool operator>(const QString &lhs, const QByteArray &rhs)
Diese Funktion überlastet operator>().
Das Byte-Array rhs wird in QUtf8StringView umgewandelt. Wenn NUL-Zeichen ('\0') in das Byte-Array eingebettet sind, werden sie in die Umwandlung einbezogen.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() gehen.
[noexcept]
bool operator>(const QString &lhs, const QLatin1StringView &rhs)
Diese Funktion überlastet operator>().
Gibt true
zurück, wenn lhs lexikalisch größer ist als rhs; andernfalls gibt sie false
zurück.
[noexcept]
bool operator>(const QString &lhs, const char *const &rhs)
Diese Funktion überlastet operator>().
Der rhs const char-Zeiger wird in einen QUtf8StringView umgewandelt.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() laufen.
[noexcept]
bool operator>=(const QByteArray &lhs, const QString &rhs)
Gibt true
zurück, wenn das Byte-Array lhs größer oder gleich der UTF-8-Kodierung von rhs ist; andernfalls wird false
zurückgegeben.
Der Vergleich unterscheidet zwischen Groß- und Kleinschreibung.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII
definieren, wenn Sie Ihre Anwendungen kompilieren. Sie müssen dann QString::fromUtf8(), QString::fromLatin1() oder QString::fromLocal8Bit() explizit aufrufen, wenn Sie das Byte-Array vor dem Vergleich in QString umwandeln wollen.
[noexcept]
bool operator>=(const QString &lhs, const QString &rhs)
Gibt true
zurück, wenn die Zeichenkette lhs lexikalisch größer oder gleich der Zeichenkette rhs ist; andernfalls wird false
zurückgegeben.
Siehe auch Comparing Strings.
[noexcept]
bool operator>=(const char *const &lhs, const QString &rhs)
Gibt true
zurück, wenn lhs lexikalisch größer oder gleich rhs ist; andernfalls wird false
zurückgegeben. Für lhs!= 0 ist dies gleichbedeutend mit compare(lhs, rhs) >= 0
.
Siehe auch Comparing Strings.
[noexcept]
bool operator>=(const QLatin1StringView &lhs, const QString &rhs)
Diese Funktion überlädt operator>=().
Gibt true
zurück, wenn lhs lexikalisch größer oder gleich rhs ist; andernfalls gibt sie false
zurück.
[noexcept]
bool operator>=(const QString &lhs, const QByteArray &rhs)
Diese Funktion überlastet operator>=().
Das Byte-Array rhs wird in QUtf8StringView umgewandelt. Wenn NUL-Zeichen ('\0') in das Byte-Array eingebettet sind, werden sie in die Umwandlung einbezogen.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() gehen.
[noexcept]
bool operator>=(const QString &lhs, const QLatin1StringView &rhs)
Diese Funktion überlädt operator>=().
Gibt true
zurück, wenn lhs lexikalisch größer oder gleich rhs ist; andernfalls gibt sie false
zurück.
[noexcept]
bool operator>=(const QString &lhs, const char *const &rhs)
Diese Funktion überlastet operator>=().
Der rhs const char-Zeiger wird in einen QUtf8StringView umgewandelt.
Sie können diesen Operator deaktivieren, indem Sie QT_NO_CAST_FROM_ASCII definieren, wenn Sie Ihre Anwendungen kompilieren. Dies kann nützlich sein, wenn Sie z. B. sicherstellen wollen, dass alle für den Benutzer sichtbaren Zeichenketten durch QObject::tr() gehen.
QDataStream &operator>>(QDataStream &stream, QString &string)
Liest einen String aus dem angegebenen stream in den angegebenen string.
Siehe auch Serialisierung von Qt-Datentypen.
Makro-Dokumentation
QStringLiteral(str)
Das Makro erzeugt die Daten für ein QString aus dem Stringliteral str zur Kompilierzeit. Das Erstellen eines QString ist in diesem Fall kostenlos, und die generierten String-Daten werden im schreibgeschützten Segment der kompilierten Objektdatei gespeichert.
Wenn Sie Code haben, der wie folgt aussieht:
// hasAttribute takes a QString argument if (node.hasAttribute("http-contents-length")) //...
dann wird eine temporäre QString erstellt, die als Funktionsparameter hasAttribute
übergeben wird. Dies kann recht kostspielig sein, da es eine Speicherzuweisung und die Kopie/Konvertierung der Daten in die interne Kodierung von QString erfordert.
Diese Kosten können vermieden werden, indem stattdessen QStringLiteral verwendet wird:
if (node.hasAttribute(QStringLiteral(u"http-contents-length"))) //...
In diesem Fall werden die internen Daten von QString zur Kompilierzeit erzeugt; zur Laufzeit findet keine Konvertierung oder Zuweisung statt.
Die Verwendung von QStringLiteral anstelle eines doppelten C++ Stringliteral kann die Erstellung von QString Instanzen aus den zur Kompilierzeit bekannten Daten erheblich beschleunigen.
Hinweis: QLatin1StringView kann immer noch effizienter als QStringLiteral sein, wenn die Zeichenkette an eine Funktion übergeben wird, die eine Überladung hat, die QLatin1StringView annimmt, und diese Überladung die Konvertierung in QString vermeidet. Zum Beispiel kann QString::operator==() direkt mit einem QLatin1StringView vergleichen:
if (attribute.name() == "http-contents-length"_L1) //...
Hinweis: Einige Compiler haben Fehler bei der Kodierung von Strings, die Zeichen außerhalb des US-ASCII-Zeichensatzes enthalten. Stellen Sie in diesen Fällen sicher, dass Sie Ihrer Zeichenkette das Präfix u
voranstellen. Ansonsten ist es optional.
Siehe auch QByteArrayLiteral.
QT_NO_CAST_FROM_ASCII
Deaktiviert die automatische Konvertierung von 8-Bit-Strings (char *
) in Unicode QStrings, sowie von 8-Bit char
Typen (char
und unsigned char
) in QChar.
Siehe auch QT_NO_CAST_TO_ASCII, QT_RESTRICTED_CAST_FROM_ASCII, und QT_NO_CAST_FROM_BYTEARRAY.
QT_NO_CAST_TO_ASCII
Deaktiviert die automatische Umwandlung von QString in 8-Bit-Strings (char *
).
Siehe auch QT_NO_CAST_FROM_ASCII, QT_RESTRICTED_CAST_FROM_ASCII, und QT_NO_CAST_FROM_BYTEARRAY.
QT_RESTRICTED_CAST_FROM_ASCII
Deaktiviert die meisten automatischen Konvertierungen von Quellliteralen und 8-Bit-Daten in Unicode-QStrings, erlaubt aber die Verwendung der Konstruktoren QChar(char)
und QString(const char (&ch)[N]
sowie des Zuweisungsoperators QString::operator=(const char (&ch)[N])
. Dies bietet die meisten Vorteile der Typsicherheit von QT_NO_CAST_FROM_ASCII, erfordert aber nicht, dass der Benutzercode Zeichen- und Stringliterale mit QLatin1Char, QLatin1StringView oder ähnlichem umhüllt.
Die Verwendung dieses Makros zusammen mit Quellzeichenketten außerhalb des 7-Bit-Bereichs, Nicht-Literalen oder Literalen mit eingebetteten NUL-Zeichen ist undefiniert.
Siehe auch QT_NO_CAST_FROM_ASCII und QT_NO_CAST_TO_ASCII.
const char *qPrintable(const QString &str)
Gibt str als const char *
zurück. Dies entspricht str.toLocal8Bit().constData().
Der char-Zeiger wird nach der Anweisung, in der qPrintable() verwendet wird, ungültig. Das liegt daran, dass das Array, das von QString::toLocal8Bit() zurückgegeben wird, aus dem Anwendungsbereich fällt.
Hinweis: qDebug(), qInfo(), qWarning(), qCritical(), qFatal() erwarten, dass %s-Argumente UTF-8-kodiert sind, während qPrintable() in die lokale 8-Bit-Kodierung konvertiert. Daher sollte qUtf8Printable() für die Protokollierung von Zeichenketten anstelle von qPrintable() verwendet werden.
Siehe auch qUtf8Printable().
const wchar_t *qUtf16Printable(const QString &str)
Gibt str als const ushort *
zurück, wird aber in const wchar_t *
umgewandelt, um Warnungen zu vermeiden. Dies ist äquivalent zu str.utf16() plus etwas Casting.
Das einzig Nützliche, was Sie mit dem Rückgabewert dieses Makros tun können, ist, ihn an QString::asprintf() zur Verwendung in einer %ls
Konvertierung zu übergeben. Insbesondere ist der Rückgabewert kein gültiger const wchar_t*
!
Im Allgemeinen wird der Zeiger nach der Anweisung, in der qUtf16Printable() verwendet wird, ungültig sein. Das liegt daran, dass der Zeiger möglicherweise aus einem temporären Ausdruck gewonnen wurde, der dann aus dem Gültigkeitsbereich herausfällt.
Beispiel:
qWarning("%ls: %ls", qUtf16Printable(key), qUtf16Printable(value));
Siehe auch qPrintable(), qDebug(), qInfo(), qWarning(), qCritical(), und qFatal().
const char *qUtf8Printable(const QString &str)
Gibt str als const char *
zurück. Dies ist äquivalent zu str.toUtf8().constData().
Der char-Zeiger wird nach der Anweisung, in der qUtf8Printable() verwendet wird, ungültig. Das liegt daran, dass das Array, das von QString::toUtf8() zurückgegeben wird, aus dem Anwendungsbereich fällt.
Beispiel:
qWarning("%s: %s", qUtf8Printable(key), qUtf8Printable(value));
Siehe auch qPrintable(), qDebug(), qInfo(), qWarning(), qCritical(), und qFatal().
© 2025 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.