Этот документ сгенерирован с помощью ИИ, в нём могут быть галлюцинации! :)

Метод Описание Пример
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();
Форматирующие функции: arg() и number()
Метод Описание Пример
QString arg(const QString &a, int fieldWidth = 0, QChar fillChar = u' ') const Заменяет маркер %1 (или следующий по порядку) на строку a. fieldWidth задаёт минимальную ширину поля; отрицательное значение выравнивает по левому краю, положительное — по правому. fillChar — символ заполнения. QString("%1!").arg("Hi"); // "Hi!"
QString("%1").arg("ab", 5); // " ab"
QString arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = u' ') const Заменяет маркер на целое число a в системе счисления base (2–36). Поддерживает ширину поля и символ заполнения. QString("%1").arg(255, 0, 16); // "ff"
QString("%1").arg(42, 5); // " 42"
QString arg(double a, int fieldWidth = 0, char format = 'g', int precision = -1, QChar fillChar = u' ') const Заменяет маркер на число с плавающей точкой. format: 'f' — фиксированный, 'e' — экспоненциальный, 'g' — компактный. precision — число знаков после запятой. QString str = QString("%1").arg(3.14159, 0, 'f', 2); // "3.14"
QString arg(QChar a, int fieldWidth = 0, QChar fillChar = u' ') const Заменяет маркер на символ a. QString("%1%1").arg('x'); // "xx"
QString arg(const QString &a1, const QString &a2) const Перегрузка для одновременной замены нескольких аргументов. Позволяет избежать путаницы, если аргументы сами содержат маркеры вида %1. QString("%1 %2").arg("Hello", "World"); // "Hello World"
[static] QString number(int n, int base = 10) Создаёт новую строку из целого числа n в системе счисления base. Статический метод, в отличие от setNum(), не изменяет существующую строку. 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"