QString &append(const QString &str) |
Группа перегружаемых методов, добавляющих строку str к концу исходной строки (также принимает QChar, QStringView, QLatin1String и др.). |
QString str = "Hello, "; str.append("world!"); // "Hello, world!" |
QString arg(const QString &a, int fieldWidth = 0, QChar fillChar = u' ') const |
Группа перегружаемых методов форматирования. Заменяет маркеры %1, %2 и т.д. на переданные значения (QString, int, double, QChar и др.). Поддерживает ширину поля и символ заполнения. |
QString("%1 was born in %2").arg("Tom").arg(2000); |
QString &assign(QAnyStringView v) |
Заменяет содержимое строки копией v. Появился в Qt 6.6. |
QString s; s.assign("Hello"); // "Hello" |
const QChar at(qsizetype position) const |
Возвращает символ по индексу position. Не вызывает глубокого копирования. |
QString s = "Qt"; QChar c = s.at(0); // 'Q' |
QChar &back() |
Возвращает ссылку на последний символ строки (STL-совместимость). |
QString s = "abc"; s.back() = 'd'; // "abd" |
QString::iterator begin() |
Возвращает STL-итератор на первый символ строки. |
for (auto it = s.begin(); it != s.end(); ++it) { /* ... */ } |
qsizetype capacity() const |
Возвращает максимальное число символов, которое можно хранить без перераспределения памяти. |
QString s; s.reserve(100); s.capacity(); // >= 100 |
void chop(qsizetype n) |
Удаляет n символов с конца строки. Если n больше размера, строка становится пустой. |
QString s = "Hello"; s.chop(2); // "Hel" |
void clear() |
Очищает строку, делая её пустой. |
QString s = "Text"; s.clear(); // s.isEmpty() == true |
int compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
Лексикографически сравнивает строки. Возвращает отрицательное значение, 0 или положительное. |
int r = QString("a").compare("b"); // r < 0 |
const QChar *constData() const |
Возвращает указатель на внутренние данные строки только для чтения. |
const QChar *p = s.constData(); |
bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
Проверяет, содержит ли строка подстроку str. Параметр cs определяет чувствительность к регистру. |
QString str = "Hello World"; bool has = str.contains("World", Qt::CaseInsensitive); |
qsizetype count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
Считает количество вхождений подстроки str (без перекрытий). |
QString s = "ababa"; s.count("aba"); // 1 |
QChar *data() |
Возвращает указатель на внутренние данные для прямого изменения. |
QString s = "abc"; s.data()[0] = 'X'; // "Xbc" |
bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
Проверяет, заканчивается ли строка подстрокой s. |
QString str = "document.pdf"; bool isPdf = str.endsWith(".pdf"); |
QString &fill(QChar ch, qsizetype size = -1) |
Заполняет строку символом ch. Если size = -1, сохраняется текущий размер. |
QString s = "abc"; s.fill('x'); // "xxx" |
QString first(qsizetype n) const & |
Возвращает строку, содержащую первые n символов. Появился в Qt 6.0 как часть замены left() с более строгим контрактом. |
QString s = "Hello World"; QString f = s.first(5); // "Hello" |
[static] QString fromRawData(const QChar *unicode, qsizetype size) |
Создаёт строку из «сырых» данных без копирования. Вызывающий гарантирует, что данные не будут удалены, пока строка используется. |
static const QChar raw[] = { 'Q', 't' }; QString s = QString::fromRawData(raw, 2); |
[static] QString fromStdString(const std::string &str) |
Создаёт QString из std::string (предполагается UTF-8). |
std::string std = "Hello"; QString s = QString::fromStdString(std); |
[static] QString fromUtf8(const char *str, qsizetype size = -1) |
Создаёт QString из UTF-8 строки. |
QString s = QString::fromUtf8("Привет"); |
QChar &front() |
Возвращает ссылку на первый символ строки. |
QString s = "abc"; s.front() = 'X'; // "Xbc" |
qsizetype indexOf(const QString &str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
Ищет первое вхождение подстроки, начиная с позиции from. Возвращает -1, если не найдено. |
QString s = "Hello"; s.indexOf("l"); // 2 |
QString &insert(qsizetype position, const QString &str) |
Вставляет строку str в указанную позицию position. |
QString str = "Hello World"; str.insert(5, ","); // "Hello, World" |
bool isEmpty() const |
Возвращает true, если строка пуста (имеет размер 0). |
QString str = ""; if (str.isEmpty()) { /* ... */ } |
bool isLower() const |
Проверяет, все ли буквы в строке в нижнем регистре. |
QString("abc").isLower(); // true |
bool isNull() const |
Возвращает true, если строка нулевая (не инициализирована). Не путать с isEmpty(): нулевая строка всегда пуста, но пустая строка не всегда нулевая. |
QString s; s.isNull(); // true |
bool isUpper() const |
Проверяет, все ли буквы в строке в верхнем регистре. |
QString("ABC").isUpper(); // true |
QString last(qsizetype n) const & |
Возвращает строку, содержащую последние n символов. Появился в Qt 6.0. |
QString s = "Hello World"; QString l = s.last(5); // "World" |
qsizetype lastIndexOf(const QString &str, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
Ищет последнее вхождение подстроки. Если from = -1, поиск идёт с конца строки. |
QString s = "ababa"; s.lastIndexOf("ba"); // 3 |
QString left(qsizetype n) const |
Возвращает подстроку, содержащую первые n символов строки. |
QString str = "Hello World"; QString sub = str.left(5); // "Hello" |
QString leftJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const |
Возвращает строку указанной ширины с выравниванием по левому краю; недостающие символы заполняются fill. Если truncate = true и строка длиннее width, она обрезается. |
QString s = "apple"; QString t = s.leftJustified(8, '.'); // "apple..." |
qsizetype length() const |
Синоним size(). Возвращает количество символов в строке. |
QString s = "abc"; s.length(); // 3 |
QString mid(qsizetype position, qsizetype n = -1) const |
Возвращает подстроку, начиная с позиции position. Если n равно -1, возвращает всё до конца строки. |
QString str = "Hello World"; QString sub = str.mid(6); // "World" |
[static] QString number(int n, int base = 10) |
Создаёт новую строку из целого числа n в системе счисления base (2–36). Статический метод, не изменяет существующую строку. |
QString s = QString::number(255, 16); // "ff" |
[static] QString number(double n, char format = 'g', int precision = 6) |
Создаёт строку из числа с плавающей точкой. format: 'f' — фиксированный, 'e' — экспоненциальный, 'g' — компактный. precision — число знаков после запятой. |
QString s = QString::number(3.14159, 'f', 2); // "3.14" |
void pop_back() |
STL-совместимый метод: удаляет последний символ строки. Эквивалентен chop(1). |
QString s = "Hello"; s.pop_back(); // "Hell" |
QString &prepend(const QString &str) |
Вставляет строку str в начало исходной строки. |
QString str = "World"; str.prepend("Hello "); // "Hello World" |
void push_back(const QString &other) |
STL-совместимый метод: добавляет строку other в конец. Эквивалентен append(other). |
QString s = "Hello"; s.push_back("!"); // "Hello!" |
void push_back(QChar ch) |
STL-совместимый метод: добавляет символ ch в конец строки. |
QString s = "Hi"; s.push_back('!'); // "Hi!" |
QString &remove(qsizetype position, qsizetype n) |
Удаляет n символов начиная с позиции position. |
QString s = "Hello"; s.remove(1, 3); // "Ho" |
QString &removeFirst() |
Удаляет первый символ строки. Если строка пуста, ничего не делает. Появился в Qt 6.5. |
QString s = "Hello"; s.removeFirst(); // "ello" |
QString &removeLast() |
Удаляет последний символ строки. Если строка пуста, ничего не делает. Появился в Qt 6.5. |
QString s = "Hello"; s.removeLast(); // "Hell" |
QString &replace(qsizetype position, qsizetype n, const QString &after) |
Заменяет n символов, начиная с позиции position, на строку after. |
QString str = "Hello World"; str.replace(6, 5, "Qt"); // "Hello Qt" |
QString repeated(qsizetype times) const |
Возвращает строку, повторённую times раз. |
QString("ab").repeated(3); // "ababab" |
QString &reserve(qsizetype size) |
Резервирует память под size символов, чтобы избежать перераспределений при последующем добавлении. |
QString s; s.reserve(100); |
QString &resize(qsizetype size) |
Изменяет размер строки до size символов. Новые символы заполняются нулевым символом. |
QString s; s.resize(5); // 5 нулевых символов |
QString right(qsizetype n) const |
Возвращает подстроку, содержащую последние n символов строки. |
QString str = "Hello World"; QString sub = str.right(5); // "World" |
QString rightJustified(qsizetype width, QChar fill = u' ', bool truncate = false) const |
Возвращает строку указанной ширины с выравниванием по правому краю; недостающие символы заполняются fill. Если truncate = true и строка длиннее width, она обрезается. |
QString s = "apple"; QString t = s.rightJustified(8, '.'); // "...apple" |
QString section(const QString &sep, qsizetype start, qsizetype end = -1, SectionFlags flags = SectionDefault) const |
Извлекает секцию строки, разделённую разделителем sep, от start до end включительно. |
QString s = "a,b,c"; s.section(",", 1, 1); // "b" |
QString &setNum(int n, int base = 10) |
Устанавливает строку в строковое представление числа n в заданной системе счисления. Нестатический аналог number(), изменяет строку на месте. |
QString s; s.setNum(42); // "42" |
QString &setRawData(const QChar *unicode, qsizetype size) |
Переиспользует существующий объект QString, настраивая его на «сырые» данные без копирования. Вызывающий гарантирует, что данные не будут удалены или изменены, пока строка используется. |
static const QChar raw[] = { 'Q', 't' }; QString s; s.setRawData(raw, 2); |
QString simplified() const |
Возвращает копию строки, в которой удалены пробелы в начале и конце, а множественные внутренние пробелы заменены на один. |
QString(" a b ").simplified(); // "a b" |
qsizetype size() const |
Возвращает количество символов в строке. |
QString s = "abc"; s.size(); // 3 |
QString &slice(qsizetype pos, qsizetype n = -1) |
Изменяет текущую строку, оставляя в ней подстроку начиная с pos длиной n (или до конца, если n = -1). Появился в Qt 6.8. |
QString x = "Nine pineapples"; x.slice(5); // "pineapples" |
QString sliced(qsizetype pos, qsizetype n) const & |
Возвращает подстроку из n символов, начиная с pos. Появился в Qt 6.0 как замена mid(). |
QString s = "Hello World"; QString sub = s.sliced(6, 5); // "World" |
QStringList split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
Разбивает строку на список подстрок по разделителю sep. |
QString str = "a,b,c"; QStringList list = str.split(","); |
bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
Проверяет, начинается ли строка с подстроки s. |
QString str = "https://qt.io"; bool isHttps = str.startsWith("https"); |
double toDouble(bool *ok = nullptr) const |
Преобразует строку в число с плавающей точкой. Если ok не равен nullptr, результат преобразования записывается в *ok. |
QString str = "3.14"; bool ok; double val = str.toDouble(&ok); |
float toFloat(bool *ok = nullptr) const |
Преобразует строку в float. Если ok не равен nullptr, результат преобразования записывается в *ok. |
bool ok; float f = QString("3.14").toFloat(&ok); |
int toInt(bool *ok = nullptr, int base = 10) const |
Преобразует строку в целое число с указанным основанием системы счисления. |
QString str = "FF"; bool ok; int hex = str.toInt(&ok, 16); // 255 |
qint64 toLongLong(bool *ok = nullptr, int base = 10) const |
Преобразует строку в long long. Параметр base задаёт систему счисления (2–36 или 0 для автоопределения). |
bool ok; qint64 v = QString("123456789012").toLongLong(&ok); |
QString toLower() const |
Возвращает копию строки, преобразованную в нижний регистр. |
QString str = "HELLO"; QString lower = str.toLower(); // "hello" |
std::string toStdString() const |
Преобразует строку в std::string (UTF-8). |
std::string std = s.toStdString(); |
qulonglong toULongLong(bool *ok = nullptr, int base = 10) const |
Преобразует строку в unsigned long long. Поддерживает автоопределение основания (base = 0), включая префиксы 0x, 0b, 0. |
bool ok; qulonglong hex = QString("FF").toULongLong(&ok, 16); // 255 |
QString toUpper() const |
Возвращает копию строки, преобразованную в верхний регистр. |
QString str = "hello"; QString upper = str.toUpper(); // "HELLO" |
QByteArray toUtf8() const |
Преобразует строку в UTF-8 QByteArray. |
QByteArray ba = s.toUtf8(); |
QString trimmed() const |
Возвращает копию строки с удалёнными пробельными символами в начале и в конце. |
QString str = " text "; QString clean = str.trimmed(); // "text" |
void truncate(qsizetype position) |
Обрезает строку до position символов. Если position больше размера, ничего не меняется. |
QString s = "Hello"; s.truncate(3); // "Hel" |
const char16_t *utf16() const |
Возвращает указатель на данные строки в кодировке UTF-16 (как char16_t). |
const char16_t *u = s.utf16(); |