Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |
Класс QString представляет собой строку символов Unicode. Далее...
#include <QString>
Обратите внимание: Все функции данного класса применяют неявное совместное использование данных.
Класс QString представляет собой строку символов Unicode.
QString хранит строку 16-битных QChar, где каждый QChar хранит символ Unicode 4.0. Unicode = это международный стандарт, поддерживающий большинство существующих на сегодня письменных систем. Это супернабор из ASCII и Latin-1 (ISO 8859-1), и все символы ASCII/Latin-1 доступны в тех-же самых кодовых позициях.
Неявно QString применяет совместное использование данных (копирование-при-записи) для предотвращения лишнего выделения памяти и ненужного копирования информации. Это также помогает уменьшить свойственный для хранения 16-битных символов излишки памаяти по сравнения с 8-битными символами.
В дополнение к QString, Qt также предоставляет класс QByteArray для хранения произвольных байтов и 8-битных оканчивающихся на '\0' строк. Для большинства задач, QString - это тот класс, который Вам нужен. Он применяется везде в Qt API, и Unicode гарантирует легкую переводимость Вашего приложения, если Вы захотите расширить продажи приложения в каком-либо пункте. Два основных случая, когда нужно применять QByteArray: когда нужно хранить сырые двоичные данные и когда приложение критично к памяти (например, в Qtopia Core).
Один из способов инициализации QString состоит в посылке const char * в конструктор. Следующий пример создает QString размером 5 содержищий информацию "Hello":
QString str = "Hello";
QString конвертирует const char * в Unicode используя fromAscii(). По умолчанию, fromAscii() предпочитает символы с кодом, болшим 128, такие как символы Latin-1, но это можно изменить вызвав QTextCodec::setCodecForCStrings().
Во всех методах QString пришнимающих параметры const char *, const char * как классическая оканчивающаяся на '\0' строка в стиле C. Это позволяет параметрам const char * иметь значение 0.
Вы также можете передавать строковую информация как массив QChar:
static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 }; QString str(data, 4);
QString производит глубокое копирование информации QChar, так что Вы можете позже измениять ее без возникновения побочных эффектов. (Если по каким-то причинам Вы не хотите делать глубокую копию информации, то используйте QString::fromRawData().)
Другой способ состоит в установлении размера с помощью resize() и инициализировать каждый символ как символ. QString использует индексирование начинающеея на 0, как в массивах C++. Для доступа к символу, находящемуся в определенной позиции, Вы можете использовать operator[](). Для неконстантных строк operator[]() возвращает ссылку на символ, которая может использоваться в левой части выражения. Например:
QString str; str.resize(4); str[0] = QChar('U'); str[1] = QChar('n'); str[2] = QChar(0x10e3); str[3] = QChar(0x03a3);
Для доступа только для чтения в качестве альтернативы используйте at():
for (int i = 0; i < str.size(); ++i) { if (str.at(i) >= QChar('a') && str.at(i) <= QChar('f')) qDebug() << "Found character in range [a-f]"; }
at() может работать быстрее, чем оператор operator[](), так как он никогда не заставляет выполняться глубокое копирование.
Для извлечения нескольких символов за раз, используйте left(), right() и mid().
QString может содержать символы '\0' (QChar::null). Функция size() всегда возвращает размер всей строки, включая символы '\0'.
После вызова resize() заново расположенные символы имеют неопределенные значения. Для установки всех символов в определенное значение вызовите fill().
QString предоставляет множество перегруженных функций предназначенных для упрощения работы со строками. Например, если Вы хотите сравнить QString со строковым литералом, Вы пожете написать код подобный нижеприведенному и он будет работать как ожидается:
if (str == "auto" || str == "extern" || str == "static" || str == "register") { ... }
Вы также можете передавать строковые литералы в функции принимающие QString и будет вызываться конструктор QString(const char *). Вы также можете, используя макрос qPrintable() возвращающий переданный QString как const char *, передавать QString в функции принимающие const char *. Это эквивалентно вызову <QString>.toAscii().constData().
QString предоставляет следующие базовые функции для изменения символьной информации: append(), prepend(), insert(), replace() и remove(). Например:
QString str = "and"; str.prepend("rock "); // str == "rock and" str.append(" roll"); // str == "rock and roll" str.replace(5, 3, "&"); // str == "rock & roll"
В функциях replace() и remove() первые два аргумента - это позиция с которой начинается удаление и количество удаляемых символов.
Часто требуется удалить непечатаемые символы из строки ('\n', '\t', ' ' и т.д.). Если Вы хотите удалить непечатаемые символы с обоих концов QString, используйте trimmed(). Если Вы хотите удалить непечатаемые символы с обоих концов строки и заменить многократные повторения пробелов одним символом пробела во всей строке, используйте simplified().
Если Вы хотите найти все вхождения определенного символа или подстроки в QString, используйте indexOf() или lastIndexOf(). Первая из функций ищет вперед начиная со страртовой позиции, последняя - назад. Обе возвращают индекс символа или подстроки если они найдены; в противном случае возвращают -1. В следующем примере показан типичный цикл для нахождения всех вслючений определенной подстроки:
QString str = "We must be <b>bold</b>, very <b>bold</b>"; int j = 0; while ((j = str.indexOf("<b>", j)) != -1) { qDebug() << "Found <b> tag at index position" << j; ++j; }
Для проверки, начинается-ли или заканчивается QString с определенной подстроки, используйте startsWith() и endsWith(). Если Вы просто хотите проверить, содержит ли QString определенный символ или подстроку, используйте contains(). Если Вы хотите выяснить сколько раз в строке встречается определенный символ или подстрока, используйте count().
QString предоставляет несколько функций для конвертации чисел в строки и строк в числа. См. функцию arg(), функцию setNum(), статическую функцию number(), а также toInt(), toDouble() и другие подобные функции.
Для получения версии строки приведенной к верхнему или нижнему регистру, используйте toUpper() или toLower().
Если Вы хотите заменить все вхождения определенной подстроки другой подстрокой, используйте одну из двух-параметровых перегруженных replace().
QStrings можно сравнивать с использованием таких перегруженных операторов, как operator<(), operator<=(), operator==(), operator>=() и т.д. Сравнение основывается исключительно на числовых значениях Unicode и работает очень быстро, но не так, как человек может ожидать. QString::localeAwareCompare() - это лучший выбор для сортировки строк пользователького интерфейса.
Список строк может храниться в классе QStringList. Вы можете разбить строку, содержащую разделители, на список строк используя split() и объединить список строк в одну строку с разделителем используя QStringList::join(). Вы можете получить из списка строк список строк содержащих определенную подстроку или специфический QRegExp используя QStringList::find().
Если Вы строите QString постепенно и заранее знаете сколько примерно QString будет содержать символов, то можете вызвать reserve() запрашивая заранее для QString некоторое количество памяти. Вы также можете вызвать capacity() чтобы выястить, сколько памяти фактически занимает QString.
Для получения указателя на фактические символьные данные, вызовите data() или constData(). Эти функции возвращают указатель на начало массива QChar. Гарантируется, что полученный указатель останется в силе, пока к QString не обратится неконстантная функция.
QString предоставляет следующие четыре функции возвращающие const char * версию строки подобной QByteArray: toAscii(), toLatin1(), toUtf8() и toLocal8Bit().
Для преобразования из этих кодировок QString предоставляет fromAscii(), fromLatin1(), fromUtf8() и fromLocal8Bit(). Другие кодировки поддерживаются через QTextCodec.
Как сказано выше, QString которые могут облегчить одновременную работу с const char *. Это палка о двух концах: QString становится легче использовать если все строки являются ASCII или Latin-1, но всегда есть риск, что неявное преобразование из или в const char * сделано с использованием неправильной 8-битовой кодировки. Для минимизации этого риска Вы можете отключить неявные преобразования вставив следующие команды препроцессора:
Один из способов установить эти команды препроцессора для всего приложения состоит в том, чтобы включить следующую строку в файл проекта qmake:
DEFINES += QT_NO_CAST_FROM_ASCII \ QT_NO_CAST_TO_ASCII
В этом случае Вы должны явно вызывать fromAscii(), fromLatin1(), fromUtf8() или fromLocal8Bit() при создании QString из 8-битной строки, или использовать облегченную версию класса QLatin1String, например:
QString url = QLatin1String("http://www.unicode.org/");
Точно также Вы должны вызывать toAscii(), toLatin1(), toUtf8() или toLocal8Bit() для конвертации QString в 8-битную строку. (Другие кодировки поддерживаются через QTextCodec.)
Из-за системы типов C++ и того факта, что QString применяет неявное совместрое использование данных, QStrings может использоваться подобно int и другим базовым типам. Например:
QString boolToString(bool b) { QString result; if (b) result = "True"; else result = "False"; return result; }
Переменная result является обычной переменной размещенной в стеке. При вызове return вызывается конструктор копирования (так как мы возвращаем значение) и создает копию возвращаемой строки. (Никакого фактического копирования не происходит благодаря неявному совместному использованию данных.)
По историческим причинам QString между нулевой строкой (null) и пустой строкой. Нулевая строка - это строка инициализированная с помощью конструктора QString по умолчанию или с помощью передачи в конструктор (const char *)0. Пустая строка - это любая строка с длиной 0. Нулевая строка всегда пустая, но пустая строка не всегда является пустым указателем:
QString().isNull(); // возвращает true QString().isEmpty(); // возвращает true QString("").isNull(); // возвращает false QString("").isEmpty(); // возвращает true QString("abc").isNull(); // возвращает false QString("abc").isEmpty(); // возвращает false
Все функции, за исключением isNull(), обращаются с нулевой строкой точно также, как с пустой. Например, toAscii().constData() возвращаят указатель на символ '\0' для нулевой строки (а не нулевой указатель), а QString() считается равным QString(""). Мы рекомендуем всегда пользоваться isEmpty() и избегать isNull().
См. также fromRawData(), QChar, QLatin1String и QByteArray.
Константа | Значение | Расшифровка |
---|---|---|
QString::NormalizationForm_D | 0 | Каноническое Разложение |
QString::NormalizationForm_C | 1 | Каноническое Разложение сопровождаемое Каноническим Составлением |
QString::NormalizationForm_KD | 2 | Разложение Совмещенного |
QString::NormalizationForm_KC | 3 | Разложение Совмещенного Сопровождаемое Каноническим Составлением |
См. также normalized() and Unicode Standard Annex #15.
Константа | Значение | Расшифровка |
---|---|---|
QString::SectionDefault | 0x00 | Пустые записи учитываются, предваряющий и замыкающий разделители не включаются и поиск разделителя выполняется с учетом регистра. |
QString::SectionSkipEmpty | 0x01 | Пустые записи не учитываются, т.е. они не рассматриваются как start и end. |
QString::SectionIncludeLeadingSep | 0x02 | Предваряющий разделитель (если существует) включается в возвращаемую строку. |
QString::SectionIncludeTrailingSep | 0x04 | Замыкающий разделитель (если существует) включается в возвращаемую строку. |
QString::SectionCaseInsensitiveSeps | 0x08 | Поиск разделителя выполняется без учета регистра. |
Тип SectionFlags - это typedef для QFlags<SectionFlag>. Он хранит комбинацию ИЛИ значений SectionFlag.
См. также section().
Данное перечисление определяет, как функция split() ведет себя по отношению к пустым строкам.
Константа | Значение | Расшифровка |
---|---|---|
QString::KeepEmptyParts | 0 | Если строка пустая, то она войдет в результат. |
QString::SkipEmptyParts | 1 | Если строка пустая, то она не войдет в результат. |
См. также split().
Создает нулевую строку. Нулевая строка всегда пустая.
См. также isEmpty().
Создает строку инициализированную первыми size символов массива QChar unicode.
QString производит глубокое копирование информации строки.
Создает строку длиной 1 содержащую символ ch.
Создает строку длиной size в которой каждый символ устанавливается в ch.
См. также fill().
Создает копию строки Latin-1 str.
См. также fromLatin1().
Создает копию other.
Данная операция занимает постоянное время, так как QString поддерживает неявное совместное использование информации. Это делает возвращение QString из функции очень быстрым. Если совместно используемая информация модифицируется, по производится копирование (копирование-при-записи) которое занимает линейное время.
См. также operator=().
Создает строку инициализированную строкой ASCII str. str преобразуется в Unicode с использованием fromAscii().
Вы можете запретить использование данного конструктора с помощью определения QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если Вы хотите быть уверенными, что все видимые пользователем строки проходят через QObject::tr().
См. также fromAscii(), fromLatin1(), fromLocal8Bit() и fromUtf8().
Создает строку инициализированную битовым массивом ba. ba конвертируется в Unicode с использованием fromAscii(). Копирование останавливается при достижении первого нулевого символа, если такой символ не встречается, копируются все элементы массива.
Вы можете запретить использование данного конструктора с помощью определения QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если Вы хотите быть уверенными, что все видимые пользователем строки проходят через QObject::tr().
Разрушает строку.
Добавляет строку str в конец данной строки.
Пример:
QString x = "free"; QString y = "dom"; x.append(y); // x == "freedom"
Это то-же самое, что и insert(size(), str).
Обычно, данная операция выполняется очень быстро (постоянное время), так как QString заранее занимает дополнительное место в конце строки данных так что может расти без того, чтобы переностить всю строку каждый раз.
См. также operator+=(), prepend() и insert().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично вышеприведенной функции.
Добавляет строку Latin-1 str к данной строке.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично вышеприведенной функции.
Добавляет байтовый массив ba к данной строке. ba преобразуется в Unicode с испольлзованием fromAscii().
Вы можете запретить использование данной функции с помощью определения QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если Вы хотите быть уверенными, что все видимые пользователем строки проходят через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично вышеприведенной функции.
Добавляет строку str к данной строке. str преобразуется Unicode с использованием fromAscii().
Вы можете запретить использование данной функции с помощью определения QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если Вы хотите быть уверенными, что все видимые пользователем строки проходят через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично вышеприведенной функции.
Добавляет символ ch к данной строке.
Данная функция возвращает копию данной строки, в которой вхождение %1, %2, ..., %9 с самым низким номером заменено на a.
Значение fieldWidth минимальную длину поля, в которое вставляется a, а оставшееся пространтсво заполняется fillChar. Положительное значение аргумента обозначает выравнивание текста в поле по правому краю, а отрицательное - по левому.
Следующий пример показывает формирование строки 'состояния' в которой показывается процесс обработки списка файлов:
QString status = QString("Processing file %1 of %2: %3") .arg(i) // текущий номер файла .arg(total) // общее количество обрабатываемых файлов .arg(fileName); // имя текущего файла
Данная функция прекрасно работает для отображения имен и номеров файлов как в приведенном примере. Но использование arg() для формирования предложений естественного язывка обычно не есть хорошо, так как структура предложений и порядок слов в них в разных языках различны.
Если строка не содержит нужных маркеров (%1, %2 и т.д.), то результат не определен.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Эта функция работает также, как str.arg(a1).arg(a2), только все делается за один проход. Результат может быть различным только если a1 содержит, например, %1:
QString str = "%1 %2"; str.arg("%1f", "Hello"); // возвращает "%1f Hello" str.arg("%1f").arg("Hello"); // возвращает "Hellof"
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Эта функция работает также, как str.arg(a1).arg(a2).arg(a3), только все делается за один проход.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Эта функция работает также, как str.arg(a1).arg(a2).arg(a3).arg(a4), только все делается за один проход.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Число a отображается в системе счисления с основанием base, которое по умолчанию равно 10 и должно находиться в диапазоне от 2 до 36.
Значение fieldWidth минимальную длину поля, в которое вставляется a, а оставшееся пространтсво заполняется fillChar. Положительное значение аргумента обозначает выравнивание текста в поле по правому краю, а отрицательное - по левому.
За символом '%' может следовать символ 'L', когда последовательность заменяется локализованным представлением a. При преобразовании используется локализация по умолчанию установленнная с помощью QLocale::setDefault(). Если никакая локализация по умолчанию не установлена, то используется локализация "C". Если base не равно 10, то флаг 'L' игнорируется.
QString str; str = QString("Decimal 63 is %1 in hexadecimal") .arg(63, 0, 16); // str == "Decimal 63 is 3f in hexadecimal" QLocale::setDefaultLocale(QLocale::English, QLocale::UnitedStates); str = QString("%1 %L2 %L3") .arg(12345) .arg(12345) .arg(12345, 0, 16); // str == "12345 12,345 3039"
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
base - это база для преобразования целого числа a в строку. base должно принадлежать интервалу от 2 до 36, в восьмиричном, десятеричном и шестнадцатиричном представлении.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Значение fieldWidth минимальную длину поля, в которое вставляется a, а оставшееся пространтсво заполняется fillChar. Положительное значение аргумента обозначает выравнивание текста в поле по правому краю, а отрицательное - по левому.
base - это база для преобразования целого числа a в строку. base должно принадлежать интервалу от 2 до 36, в восьмиричном, десятеричном и шестнадцатиричном представлении.
За символом '%' может следовать символ 'L', когда последовательность заменяется локализованным представлением a. При преобразовании используется локализация по умолчанию установленнная с помощью QLocale::setDefault(). Если никакая локализация по умолчанию не установлена, то используется локализация "C". Если base не равно 10, то флаг 'L' игнорируется.
QString str; str = QString( "Decimal 63 is %1 in hexadecimal" ) .arg( 63, 0, 16 ); // str == "Decimal 63 is 3f in hexadecimal" QLocale::setDefault(QLocale::English, QLocale::UnitedStates); str = QString( "%1 %L2 %L3" ) .arg( 12345 ) .arg( 12345 ) .arg( 12345, 0, 16 ); // str == "12345 12,345 3039"
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
base - это база для преобразования целого числа a в строку. base должно принадлежать интервалу от 2 до 36, в восьмиричном, десятеричном и шестнадцатиричном представлении.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
base - это база для преобразования целого числа a в строку. base должно принадлежать интервалу от 2 до 36, в восьмиричном, десятеричном и шестнадцатиричном представлении.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
base - это база для преобразования целого числа a в строку. base должно принадлежать интервалу от 2 до 36, в восьмиричном, десятеричном и шестнадцатиричном представлении.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
base - это база для преобразования целого числа a в строку. base должно принадлежать интервалу от 2 до 36, в восьмиричном, десятеричном и шестнадцатиричном представлении.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
base - это база для преобразования целого числа a в строку. base должно принадлежать интервалу от 2 до 36, в восьмиричном, десятеричном и шестнадцатиричном представлении.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
a интерпретируется как символ Latin-1.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Аргумент a форматируется согласно указанному формату fmt, который по умолчанию равен 'g' и может принимать любое из следующих значений:
Формат | Значение |
---|---|
e | форматирует как [-]9.9e[+|-]999 |
E | форматирует как [-]9.9E[+|-]999 |
f | форматирует как [-]9.9 |
g | выбирается наиболее краткий вариант из форматов e и f |
G | выбирается наиболее краткий вариант из форматов E и f |
В вариантах 'e', 'E' и 'f', prec - это число знаков после запятой. В вариантах 'g' и 'G', prec - это максимальное количество значимых цифр (переходящие нули опускаются).
double d = 12.34; QString str = QString("delta: %1").arg(d, 0, 'E', 3); // str == "delta: 1.234E+01"
За символом '%' может следовать символ 'L', когда последовательность заменяется локализованным представлением a. При преобразовании используется локализация по умолчанию установленнная с помощью QLocale::setDefault(). Если никакая локализация по умолчанию не установлена, то используется локализация "C".
Возвращает символ строки стоящий в позиции с номером i.
i должно быть корректным номером позиции (т.е. 0 <= i < size()).
См. также operator[]().
Возвращает максимальное количество символов, которые могут быть размещены в строке без того, чтобы вызвать ее перемещение.
Единственная цель данной функции - точная настройка использования памяти QString. Вообще, Вам редко придется использовать эту функцию. Если Вы хотите знать, сколько символов содержится в строке, используйте size().
См. также reserve() и squeeze().
Удаляет n символов стоящих в конце строки.
Если n больше size(), строка будет пустой.
Пример:
QString str("LOGOUT\r\n"); str.chop(2); // str == "LOGOUT"
Если Вы хотите удалить символы стоящие в начале строки, используйте remove().
См. также truncate(), resize() и remove().
Очищает строку и делает ее пустой.
См. также resize() и isEmpty().
Лексически сравнивает строки s1 и s2 и возвращает целое число меньшее, равное или большее чем ноль если s1 меньше, равно или больше чем s2.
Сравнение осуществляется исключительно не числовых значениях символов Unicode и выполняется очень быстро, но работает не так, как человек мог-бы ожидать. Сортировка очевидная для пользователя осуществляется с помощью localeAwareCompare().
int x = QString::compare("auto", "auto"); // x == 0 int y = QString::compare("auto", "car"); // y < 0 int z = QString::compare("car", "auto"); // z > 0
См. также localeAwareCompare(), operator==(), operator<(), and operator>().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Работает подобно compare(*this, other).
Возвращает указатель на информацию содержащуюся в QString. Указатель может использоваться для получения доступа к символам, составляющим строку. Для удобства данные завершаются символом '\0'.
Указатель остается корректным пока строка не будет изменена.
См. также data() и operator[]().
Возвращает true если строка содержит строку str; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
Пример:
QString str = "Peter Pan"; str.contains("peter", Qt::CaseInsensitive); // возвращает true
См. также indexOf() и count().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает true если данная строка содержит символ ch; в противном случае возвращает false.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает true если регулярное выражение rx встречается в данной строке; в противном случае возвращает false.
Возвращает количество (потенциально накладывающихся) вхождений строки str в данную строку.
Если cs равно Qt::CaseSensitive (по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
См. также contains() и indexOf().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает количество вхождений символа ch в строку.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает количество вхождений регулярного выражения rx в строку.
Данная функция возвращает количество накладывающихся вариантов. Пример ниже содержит четыре вхождения "ana" или "ama":
QString str = "banana and panama"; str.contains(QRegExp("a[nm]a")); // возвращает 4
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Работает подобно size().
Возвращает указатель на информацию содержащуюся в QString. Указатель может использоваться для доступа и изменения символов содержащихся в строке. Для удобства, данные завершаются символом '\0'.
Указатель остается корректным пока строка не будет изменена.
Пример:
QString str = "Hello world"; QChar *data = str.data(); while (*data) { qDebug() << data->unicode(); ++data; }
См. также constData() и operator[]().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает true если строка заканчивается на s; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
QString str = "Bananas"; str.endsWith("anas"); // возвращает true str.endsWith("pple"); // возвращает false
См. также startsWith().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает true если строка заканчивается символом c; в противном случае возвращает false.
Устанавливает каждый символ строки в ch. Если size отлично от -1 (значение по умолчанию), то размер строки сперва устанавливается в size.
Пример:
QString str = "Berlin"; str.fill("z"); // str == "zzzzzz" str.fill("A", 2); // str == "AA"
См. также resize().
Возвращает QString инициализированную первыми size символами 8-битной строки ASCII str.
Если size равно -1 (по умолчанию), то оно принимается равным qstrlen(str).
Если кодек был установлен с помощью QTextCodec::setCodecForCStrings(), то он будет использован для конвертации str в Unicode; в противном случае данная функция сделает это подобно fromLatin1().
См. также toAscii(), fromLatin1(), fromUtf8() и fromLocal8Bit().
Возвращает QString инициализированную первыми size символами строки Latin-1 str.
Если size равно -1 (по умолчанию), то оно принимается равным qstrlen(str).
См. также toLatin1(), fromAscii(), fromUtf8() и fromLocal8Bit().
Возвращает QString инициализированную первыми size символами 8-битной строки str.
Если size равно -1 (по умолчанию), то оно принимается равным qstrlen(str).
Для конвертации строки в Unicode используется QTextCodec::codecForLocale().
См. также toLocal8Bit(), fromAscii(), fromLatin1() и fromUtf8().
Создает QString использующую первые size символов Unicode из массива unicode. Данные в unicode не копируются. Вызывающий данную функцию должен быть уверен, что unicode не будет удален или изменен пока существует QString (или его неизмененная копия).
Любые попытки изменить QString или ее копию приведут к глубокому копированию информации чтобы гарантировать неизменность сырых данных.
Следующий пример показывает как можно использовать QRegExp на сырых данных в памяти без того, чтобы копировать их в QString:
static const QChar unicode[] = { 0x005A, 0x007F, 0x00A4, 0x0060, 0x1009, 0x0020, ... 0x0020 }; int size = sizeof(unicode) / sizeof(QChar); QString str = QString::fromRawData(unicode, size); if (str.contains(QRegExp(pattern))) ...
Предупреждение: Строка созданная с помощью fromRawData() не оканчивается на '\0' если данные не содержат символ '\0' в позиции size. Это означает, что unicode() возвратит строку не оканчивается на '\0' (хотя utf16() делает копирование значений сырых данных).
См. также fromUtf16().
Возвращает копию str. str конвертируется в Unicode с использованием fromAscii().
Данный конструктор доступен только если Qt сконфигурирован для возможности использования STL.
См. также fromAscii(), fromLatin1(), fromLocal8Bit() и fromUtf8().
Возвращает str. str конвертируется из utf16 если размер wchar_t равен двум байтам (онапример в Windows) и из ucs4 если размер wchar_t равен четырем байтам (большинство Unix-систем).
Данный конструктор доступен только если Qt сконфигурирован для возможности использования STL.
См. также fromUtf16(), fromLatin1(), fromLocal8Bit() и fromUtf8().
Возвращает QString инициализированную первыми size байтами строки UTF-8 str.
Если size равно -1 (по умолчанию), то оно принимается равным qstrlen(str).
См. также toUtf8(), fromAscii(), fromLatin1() и fromLocal8Bit().
Возвращает QString инициализированную первыми size символами строки Unicode unicode (перекодировка ISO-10646-UTF-16).
Если size равно -1 (по умолчанию), то оно принимается равным qstrlen(str).
QString makes a deep copy of the Unicode data.
См. также utf16() и setUtf16().
Возвращает позицию первого вхождения строки str в данной строке, поиск выполняется вперед от позиции from. Возвращает -1 если str не найдена.
Если cs равно Qt::CaseSensitive (по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
Пример:
QString x = "sticky question"; QString y = "sti"; x.indexOf(y); // возвращает 0 x.indexOf(y, 1); // возвращает 10 x.indexOf(y, 10); // возвращает 10 x.indexOf(y, 11); // возвращает -1
Если from равно -1, то поиск начинается с последнего символа (в нем-же и заканчивается); если равно -2, то поиск начиначется с предпоследнего символа и т.д.
См. также lastIndexOf(), contains() и count().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает позицию первого вхождения символа ch в строке, поиск выполняется вперед начиная с позиции from. Возвращает -1 если ch не найден.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает позицию первого соответствия в данной строке регулярному выражению rx, поиск выполняется вперед начиная с позиции from. Возвращает -1 если соответствия rx не найдено.
Пример:
QString str = "the minimum"; str.indexOf(QRegExp("m[aeiou]"), 0); // возвращает 4
Возвращает строку str в позицию с индексом i и возвращает ссылку на данную строку.
Пример:
QString str = "Meal"; str.insert(1, QString("ontr")); // str == "Montreal"
Если i больше size(), то строка сперва растягивается с использованием resize().
См. также append(), prepend(), replace() и remove().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Вставляет строку Latin-1 str в позицию с индексомi.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Вставляет первые size символов массива QChar unicode в позицию строки с индексом i.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Вставляет ch в строку в позиции с индексом i.
Возвращает true если строка не содержит символов; в противном случае возвращает false.
Пример:
QString().isEmpty(); // возвращает true QString("").isEmpty(); // возвращает true QString("x").isEmpty(); // возвращает false QString("abc").isEmpty(); // возвращает false
См. также size().
Возвращает true если строка нулевая; в противном случае возвращает false.
Пример:
QString().isNull(); // возвращает true QString("").isNull(); // возвращает false QString("abc").isNull(); // возвращает false
По историческим причинам Qt делает различие между нулевыми и пустыми строками. В большинстве приложений важно знать, содержит или нет строка какие-либо данные, определить это можно с помощью isEmpty().
См. также isEmpty().
Возвращает индекс позиции последнего вхождения строки str в данную строку, поиск выполняется назад от позиции с индексом from. Если from равно -1 (значение по умолчанию), то поиск начинается от последнего символа; если from равно -2, то поиск выполняется со следующего за последним символом и т.д. Возвращает -1 если str не найдена.
Если cs равно Qt::CaseSensitive (по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
Пример:
QString x = "crazy azimuths"; QString y = "az"; x.lastIndexOf(y); // возвращает 6 x.lastIndexOf(y, 6); // возвращает 6 x.lastIndexOf(y, 5); // возвращает 2 x.lastIndexOf(y, 1); // возвращает -1
См. также indexOf(), contains() и count().
Данная перегруженная функция предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает индекс позиции последнего вхождения символа ch, поиск выполняется назад от позиции с индексом from.
Данная перегруженная функция предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает индекс позиции последнего вхождения соответствия регулярному выражению rx в строке, поиск выполняется назад от позиции с индексом from. Возвращает -1 если соответствия rx не найдено.
Пример:
QString str = "the minimum"; str.lastIndexOf(QRegExp("m[aeiou]")); // возвращает 8
Возвращает подстроку содержащую len левых символов строки.
Если len больше size() или меньше ноля, то возвращается вся строка.
QString x = "Pineapple"; QString y = x.left(4); // y == "Pine"
См. также right(), mid() и startsWith().
Возвращает строку size() которой равно width символов данной строки дополненную символами fill.
Если truncate равно false и size() больше width, то возвращаемая строка будет копией данной.
Если truncate равно true и size() больше width, то все символы возвращаемой копии строки после позиции width удаляются.
QString s = "apple"; QString t = s.leftJustified(8, '.'); // t == "apple..."
См. также rightJustified().
Аналогично size().
См. также setLength().
Сравнивает s1 с s2 и возвращает целое значение меньшее, равное или большее ноля если s1 меньше, равно или больше s2.
Сравнение выполняется способом зависящим от используемой локализации и платформы. Используйте данную функцию для представлению сортированных списков строк пользователю.
См. также compare() и QTextCodec::locale().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Аналогично localeAwareCompare(*this, other).
Возвращает строку содержащую len символов данной строки начиная с позиции i.
Если i больше длины строки, то возвращается пустая строка. Если существует меньше, чем len символов доступных в строке после позиции i или если len равно -1 (значение по умолчанию), то функция возвратит все символы данной строки начиная с позиции i.
Пример:
QString x = "Nine pineapples"; QString y = x.mid(5, 4); // y == "pine" QString z = x.mid(5); // z == "pineapples"
Возвращает строку в нормальной форме Unicode form.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает строку в нормальной форме Unicode form, в соответствии с версией version стандарта Unicode.
Возвращает строку содержащее число n в системе счисления с основанием base, которое по умолчанию равно 10 и должно быть между 2 и 36.
long a = 63; QString str = QString::number(a, 16); // str == "3f" QString str = QString::number(a, 16).upper(); // str == "3F"
См. также setNum().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Аргумент n форматируется в соответствии с форматом f и точностью prec. Формат f может иметь значения 'f', 'F', 'e', 'E', 'g' и 'G'. Для пояснения значений форматов см. arg().
См. также setNum().
Вставляет строку str в начало данной строки и возвращает ссылку на данную строку строку.
Пример:
QString x = "ship"; QString y = "air"; x.prepend(y); // x == "airship"
См. также append() и insert().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Вставляет строку Latin-1 str в начало данной строки.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Вставляет массив байтов ba в начало данной строки. ba конвертируется в Unicode с помощью fromAscii().
Вы можете запретить использование данной функции с помощью определения QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если Вы хотите быть уверенными, что все видимые пользователем строки проходят через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Вставляет строку str в начало данной строки. str конвертируется в Unicode с помощью fromAscii().
Вы можете запретить использование данной функции с помощью определения QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если Вы хотите быть уверенными, что все видимые пользователем строки проходят через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Вставляет символ ch в начало данной строки.
Данная функция предоставлена для совместимости с STL. Она эквивалентна append(other).
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Аналогично(ch).
Данная функция предоставлена для совместимости с STL. Она эквивалентна prepend(other).
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Аналогично prepend(ch).
Удаляет из строки len символов начиная с позиции с индексом pos и возвращает ссылку на строку.
Если pos в пределах строки, но pos + len вне конца строки, то строка обрезается в позиции pos.
QString str = "Montreal"; str.remove(1, 4); // str == "Meal"
См. также insert() и replace().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Удаляет все вхождения строки str в данной строке. Возвращает ссылку на строку.
Если cs равно Qt::CaseSensitive (по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
Аналогично replace(str, "", cs).
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Удаляет все вхождения символа ch в данной строке и возвращает ссылку на эту строку.
Если cs равно Qt::CaseSensitive (значение по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
Пример:
QString str = "Ali Baba"; str.remove(QChar('a'), Qt::CaseInsensitive); // str == "li Bb"
Аналогично replace(ch, "", cs).
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Удаляет все соответствия регулярному выражению rx в данной строке и возвращает ссылку на строку. Например:
QString str = "Telephone"; str.remove(QRegExp("[aeiou].")); // str == "The"
См. также indexOf(), lastIndexOf() и replace().
Заменяет len символов начиная с позиции pos на строку after и возвращает ссылку на данную строку.
Пример:
QString x = "Say yes!"; QString y = "no"; x.replace(4, 3, y); // x == "Say no!"
См. также insert() См. также remove().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Заменяет len символов начиная с позиции pos первыми size символами QChar массива unicode.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Заменяет len символов начиная с позиции pos на символ after.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Заменяет все соответствия строке before строкой after.
Если cs равно Qt::CaseSensitive (значение по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
Пример:
QString str = "colour behaviour flavour neighbour"; str.replace(QString("ou"), QString("o")); // str == "color behavior flavor neighbor"
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Заменяет все символы ch в строке на строку after. Возвращает ссылку на строку.
Если cs равно Qt::CaseSensitive (значение по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Заменяет все символы before на символ after. Возвращает ссылку на строку.
Если cs равно Qt::CaseSensitive (значение по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Заменяет все соответствия регулярному выражению rx в строке на строку after. Возвращает ссылку на строку. Например:
QString str = "Banana"; str.replace(QRegExp("a[mn]"), "ox"); // str == "Boxoxa"
Для регулярных выражений содержащих внутренние выражения вхождения \1, \2, ..., в after заменяются на rx.cap(1), cap(2), ...
QString str = "A <i>bon mot</i>."; str.replace(QRegExp("<i>([^<]*)</i>"), "\\emph{\\1}"); // str == "A \\emph{bon mot}."
См. также indexOf(), lastIndexOf(), remove() и QRegExp::cap().
Пытается занять память для, по крайней мере, size символов. Если Вы знаете заранее длину строки, то можете вызвать данную функцию. Если Вы повторно устанавливаете длину строки, то, вероятно, получите более быструю работу. Если size будет недостаточен, то худшее, что может случиться, - это замедление работы QString.
Единственная цель данной функции - это обеспечение точной настроки использование памяти QString. В большинстве случаев Вам вряд-ли придется использовать данную функцию. Если Вы хотите изменить размер строки, используйте resize().
Данная функция полезна в коде формирующем длинную строку для избежания перемещения строки. В следующем примере мы хотим увеличивать строку пока не выполнится некоторое условие не станет истинным и мы довольно обоснованно считаем вызов reserve() оправданным:
QString result; int len = 0; result.reserve(maxSize); while (...) { result[len++] = getNextChar(); // заполняет часть занятой памяти } result.squeeze();
См. также squeeze() и capacity().
Устанавивает длину строки в size символов.
Если size больше текущего размера, то строка растягивается до size символов, новое место появляется в конце строки и заполняется дополнительными символами. Новые символы не инициализированы.
Если size меньше текущего размера, то символы, которые окажутся стоящими после конца, будут удалены.
Пример:
QString str = "Hello world"; str.resize(5); // str == "Hello" str.resize(8); // str == "Hello???" (где ? стоит на месте неопределенных символов)
Если Вы хотите добавить в конец строки несколько повторяющихся символов, то лучше, чем resize(), использовать operator+=():
QString str = "Hello"; str += QString(10, 'X'); // str == "HelloXXXXXXXXXX"
Если Вы хотите растянуть строку до определенной длины и заполнить новые позиции определенным символами, используйте leftJustified():
QString str = "Hello"; str = str.leftJustified(10, ' '); // str == "Hello "
См. также truncate() и reserve().
Возвращает подстроку содержащую len правых символов строки.
Если len больше чем size() или меньше нуля, то возвращается полная строка.
QString x = "Pineapple"; QString y = x.right(5); // y == "apple"
См. также left(), mid() и endsWith().
Возвращает строку size() которой равен width символов данной строки дополненную символами fill.
Если truncate равно false и size() больше width, то возвращаемая строка будет копией данной.
Если truncate равно true и size() больше width, то все символы возвращаемой копии строки после позиции width удаляются.
QString str = "apple"; str = str.rightJustified(8, '.'); // str == "...apple"
См. также leftJustified().
Данная функция возвращает раздел строки.
Данная строка рассматривается как последовательность записей разделенных символом sep. Возвращаемая строка состоит из записей начинающихся с записи с номером start до записи с номером end включительно. Если end не определено, то возвращаются все записи начиная со start. Записи нумеруются 0, 1, 2 и т.д. при счете слева на право и -1, -2 и т.д.при счете справа на лево.
Аргумент flags может использоваться для изменения некоторых аспектов поведения функции, например: учитывать-ли регстр, пропускать-ли пустые записи, как обращаться с предваряющими и замыкающими разделителями; для получения подробной информации см. SectionFlags.
QString csv = "forename,middlename,surname,phone"; QString str = csv.section(',', 2, 2); // str == "surname" QString path = "/usr/local/bin/myapp"; // First field is empty QString str = path.section('/', 3, 4); // str == "bin/myapp" QString str = path.section('/', 3, 3, SectionSkipEmpty); // str == "myapp"
Если start или end отрицательны, то записи считаются от правого конца строки. Самая правая запись при этом будет иметь номер -1, запись находящаяся слева от правой будет иметь номер -2 и т.д.
QString csv = "forename,middlename,surname,phone"; QString str = csv.section(',', -3, -2); // str == "middlename,surname" QString path = "/usr/local/bin/myapp"; // First field is empty QString str = path.section('/', -1); // str == "myapp"
См. также split().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
QString data = "forename**middlename**surname**phone"; QString str = data.section("**", 2, 2); // str == "surname"
QString data = "forename**middlename**surname**phone"; QString str = data.section("**", -3, -2); // str == "middlename**surname"
См. также split().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная строка рассмативается как последовательность записей разделенных разделителями, соответствующими регулярному выражению reg.
QString line = "forename\tmiddlename surname \t \t phone"; QRegExp sep("\\s+"); QString s = line.section(sep, 2, 2); // s == "surname"
QString line = "forename\tmiddlename surname \t \t phone"; QRegExp sep("\\s+"); QString s = line.section(sep, -3, -2); // s == "middlename surname"
Предупреждение: Использование данного варианта перегруженной функции с параметром QRegExp более дорого, чем использование вариантов функции со строковым или символьным параметром.
См. также split() и simplified().
Присваивает строке символное представление числа n в системе счисления base и возваращает ссылку на строку.
Основание системы счисления по умолчанию равно 10 и должно находиться в интервале от 2 до 36.
QString str; str.setNum(1234); // str == "1234"
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Присваивает строке символное представление числа n форматированного в соответствии с форматом f и точностью prec и возвращает ссылку на строку.
Формат f может принимать значение 'f', 'F', 'e', 'E', 'g' или 'G'. Для получения более детальной информации о форматах см. arg().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Присваивает строке символное представление числа n форматированного в соответствии с форматом f и точностью prec и возвращает ссылку на строку.
Формат f может принимать значение 'f', 'F', 'e', 'E', 'g' или 'G'. Для получения более детальной информации о форматах см. arg().
Устанавливает длину строки в size символов и копирует в нее unicode.
Если unicode равно 0, то ничего не будет скопировано, но размер строки будет установлен в size.
См. также unicode() и setUtf16().
Устанавливает длину строки в size символов и копирует в нее unicode.
Если unicode равно 0, то ничего не будет скопировано, но размер строки будет установлен в size.
См. такжеo utf16() и setUnicode().
Возвращает строку, в которой удалены все непечатаемые символы и все последовательности пробелов заменены одним пробелом.
Непечатаемые символы - это множество символов, для которых QChar::isSpace() возвращает true. В это множество входят такие символы ASCII как '\t', '\n', '\v', '\f', '\r' и ' '.
Пример:
QString str = " lots\t of\nwhitespace\r\n "; str = str.simplified(); // str == "lots of whitespace";
См. также trimmed().
Возвращает количество символов в данной строке.
Последний символ строки имеет позицию с номером size() - 1. Кроме того, QString гарантирует, что символ стоящий в позиции size() всегда равен '\0' для того, чтобы была возможность использовать значения, возвращаемые функциями data() и constData() в качестве аргументов функций ожидающих строку заканчивающуюся символом '\0'.
Пример:
QString str = "World"; int n = str.size(); // n == 5 str.data()[0]; // возвращает 'W' str.data()[4]; // возвращает 'd' str.data()[5]; // возвращает '\0'
См. также isEmpty() и resize().
Разбивает строку на подстроки используя в качестве разделителя sep и возвращает список полученных строк. Если sep не встречается в строке, то split() возвращает список содержащий единственный элемент - эту строку.
Если cs равно true, то при разбиении строки ищется точное соответствие sep. Если cs равно false, то при поиске sep для разбиения строки не учитывается регистр (т.е. "and" соответствует "AND").
Если behavior равно QString::SkipEmptyParts, то пустые записи не будут включены в возвращаемый список. По умолчанию пустые значения включаются в результат.
Пример:
QString str = "a,,b,c"; QStringList list1 = str.split(","); // list1: [ "a", "", "b", "c" ] QStringList list2 = str.split(",", QString::SkipEmptyParts); // list2: [ "a", "b", "c" ]
См. также QStringList::join() и section().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Разбивает строку на подстроки в местах соответствующих регулярному выражению rx и возвращает список содержащий подстроки. Если соответствий rx не встречается в строке, то split() возвращает список состоящий из подного элемента - этой строки.
В следующем примере мы разбиваем предложения на слова используя один или несколько символов пробела в качестве разделителя:
QString str = "Some text\n\twith strange whitespace."; QStringList list = str.split(QRegExp("\\s+")); // list: [ "Some", "text", "with", "strange", "whitespace." ]
Вот подобный пример, но на этот раз мы используем любые не-буквенные символы в качестве разделителя:
QString str = "This time, a normal English sentence."; QStringList list = str.split(QRegExp("\\W+"), QString::SkipEmptyParts); // list: [ "This", "time", "a", "normal", "English", "sentence" ]
В третьем примере, используя разделитель нулевой длины \b (окончание слова), мы разделяем предложение на последовательность слов и не-слов:
QString str = "Now: this sentence fragment."; QStringList list = str.split(QRegExp("\\b")); // list: [ "", "Now", ": ", "this", " ", "sentence", " ", "fragment", "." ]
См. также QStringList::join() и section().
Формирует форматированную строку из строки формата cformat и произвольного количества аргументов.
Escape-последовательность %lc обозначает один символ unicode типа ushort (как он возвращается QChar::unicode()). Escape-последовательность %ls обозначает указатель на строку символов unicode типа ushort завершающуюся нулем (как он возвращается QString::utf16()).
Строка формата поддерживает польшинство преобразований предоставляемых функцией printf() стандартной библиотекой C++. Строка форматирования не поддерживает модификаторы длины (например, h для short, ll для long long). Если модификаторы длины Вам нужны, используйте стандартнулю функцию sprintf():
char buf[BufSize]; ::sprintf(buf, "%lld", 123456789LL); QString str = QString::fromAscii(buf);
Предупреждение: Мы не рекомендуем использовать QString::sprintf() в новых программых Qt. Вместо этого лучше использовать QTextOStream или arg(), которые более органично и безопастно поддерживают строки Unicode. Пример использования QTextOStream:
QString result; QTextOStream(&result) << "pi = " << 3.14; // result == "pi = 3.14"
Для перевода, особенно если строки содержат более одной Escape-последовательности, необходимо использовать функцию arg() позволяющую правильно управлять переводчиком.
См. также arg().
Освобождает память не требуемую для хранения строки.
Единственное назначение данной функции - это более точное управление использования памяти QString. В большинстве случаев Вам не придется обращаться к данной функции.
См. также reserve() и capacity().
Возвращает true если строка начинается с s; в противном случае возвращает false.
Если cs равно Qt::CaseSensitive (значение по умолчанию), то поиск осуществляется с учетом регистра; в противном случае регистр не учитывается.
QString str = "Bananas"; str.startsWith("Ban"); // возвращает true str.startsWith("Car"); // возвращает false
См. также endsWith().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает true строка начинается с c; в противном случае возвращает false.
Возвращает 8-битное ASCII представление строки в качестве QByteArray.
Если кодировка была установлена с помощью QTextCodec::setCodecForCStrings(), то она используется для перевода Unicode в 8-битные символы; в противном случае это делается с помощью toLatin1().
См. также fromAscii(), toLatin1(), toUtf8(), toLocal8Bit() и QTextCodec.
Возвращает строку конвертированную в double.
Если не может конвертировать, то возвращает 0.0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
QString str = "1234.56"; double val = str.toDouble(); // val == 1234.56
Данная функция пытается интерпретировать строку в соответствии с текущей локализацией. Текущая локализация принимается от системы при запуске приложения и может быть изменена с помощью вызова QLocale::setDefault(). Если строку не удается интерпретировать в соответствии с текущей локализацией, то функция обращается к локализации "C".
bool ok; double d; QLocale::setDefault(QLocale::C); d = QString( "1234,56" ).toDouble(&ok); // ok == false d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56 QLocale::setDefault(QLocale::German); d = QString( "1234,56" ).toDouble(&ok); // ok == true, d == 1234.56 d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
Из-за двусмысленности между десятичной точкой и разделителем разрядов в различных локализациях, данная функция не работает с разделителями групп разрядов. Если Вам нужно конвертировать такие числа, см. QLocale::toDouble().
bool ok; QLocale::setDefault(QLocale::C); double d = QString( "1,234,567.89" ).toDouble(&ok); // ok == false
Предупреждение: Если строка начинается с пробела, то функция не сможет нормально конвертировать строку и установит *ok в false (если ok не равно 0). Завершающие пробелы игнорируются.
См. также number(), QLocale::setDefault(), QLocale::toDouble() и trimmed().
Возвращает строку конвертированную в float.
Если не может конвертировать, то возвращает 0.0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
Пример:
QString str1 = "1234.56"; str1.toFloat(); // возвращает 1234.56 bool ok; QString str2 = "R2D2"; str2.toFloat(&ok); // возвращает 0.0, устанавливает ok в false
См. также number(), toDouble() и toInt().
Возвращает строку конвертированную в int используя систему счисления с основанием base, которое по умолчанию равно 10 и должно находиться в интервале между 2 и 36, или 0. Если конвертировать не удалось, возвращает 0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
Если base равно 0, то используются соглашения языка C: Если строка начинается с "0x", то в качестве основания системы счисления принимается 16; если строка начинается с "0", то в качестве основания системы счисления принимается 8; в противном случает в качестве основания системы счисления принимается 10.
Пример:
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
См. также number(), toUInt() и toDouble().
Возвращает представление Latin-1 данной строка как QByteArray. Возвращаемый массив байтов не определен, если строка содержит не-Latin1 символы.
См. также fromLatin1(), toAscii(), toUtf8(), toLocal8Bit() и QTextCodec.
Возвращает локализованное 8-битное представление строки как QByteArray. Возвращаемый массив байтов не определен, если строка содержит символы не поддерживаемые 8-битной локальной кодировкой.
Для выполнения конвертирования из Unicode используется QTextCodec::codecForLocale().
См. также fromLocal8Bit(), toAscii(), toLatin1(), toUtf8() и QTextCodec.
Возвращает строку конвертированную в long используя систему счисления с основанием base, которое по умолчанию равно 10 и должно находиться в интервале между 2 и 36, или 0. Если конвертировать не удалось, возвращает 0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
Если base равно 0, то используются соглашения языка C: Если строка начинается с "0x", то в качестве основания системы счисления принимается 16; если строка начинается с "0", то в качестве основания системы счисления принимается 8; в противном случает в качестве основания системы счисления принимается 10.
Пример:
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
См. также number(), toULong() и toInt().
Возвращает строку конвертированную в long long используя систему счисления с основанием base, которое по умолчанию равно 10 и должно находиться в интервале между 2 и 36, или 0. Если конвертировать не удалось, возвращает 0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
Если base равно 0, то используются соглашения языка C: Если строка начинается с "0x", то в качестве основания системы счисления принимается 16; если строка начинается с "0", то в качестве основания системы счисления принимается 8; в противном случает в качестве основания системы счисления принимается 10.
Пример:
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
См. также number(), toULongLong() и toInt().
RВозвращает копию строки приведенную к нижнему регистру.
QString str = "TROlltECH"; str = str.toLower(); // str == "trolltech"
См. также toUpper().
Возвращает строку конвертированную в short используя систему счисления с основанием base, которое по умолчанию равно 10 и должно находиться в интервале между 2 и 36, или 0. Если конвертировать не удалось, возвращает 0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
Если base равно 0, то используются соглашения языка C: Если строка начинается с "0x", то в качестве основания системы счисления принимается 16; если строка начинается с "0", то в качестве основания системы счисления принимается 8; в противном случает в качестве основания системы счисления принимается 10.
Пример:
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
См. также number(), toUShort() и toInt().
Возвращает объект std::string заполненный информацией содержащейся в данной QString. Символы Unicode конвертируются в 8-битные символы с использованием toAscii().
Данный оператор очень удобен при передаче QString в функции принимающие объект std::string.
Если QString содержит не-ASCII символы Unicode, использование данной функции может привести к потере информации. Вы можете запретить использование данного оператора определив QT_NO_CAST_TO_ASCII перед компиляцией приложения. Тогда для конвертиции строки в const char * Вы должны будете использовать toAscii() (или toLatin1(), toUtf8(), toLocal8Bit()) и передать возвращенное значение в конструктор std::string.
Данный оператор доступен только если Qt сконфигурирована с учетом совместимости с STL.
См. также toAscii(), toLatin1(), toUtf8() и toLocal8Bit().
Возвращает объект std::wstring заполненный информацией содержащейся в данной QString. std::wstring кодируется в utf16 на платформах, где wchar_t занимает 2 байта (например, Windows), и в ucs4 на платоформах, где wchar_t занимает 4 байта (большинство Unix-систем).
Данный оператор очень удобен при передаче QString в функции принимающие объект std::wstring.
Данный оператор доступен только если Qt сконфигурирована с учетом совместимости с STL.
См. также utf16(), toAscii(), toLatin1(), toUtf8() и toLocal8Bit().
Возвращает строку конвертированную в unsigned int используя систему счисления с основанием base, которое по умолчанию равно 10 и должно находиться в интервале между 2 и 36, или 0. Если конвертировать не удалось, возвращает 0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
Если base равно 0, то используются соглашения языка C: Если строка начинается с "0x", то в качестве основания системы счисления принимается 16; если строка начинается с "0", то в качестве основания системы счисления принимается 8; в противном случает в качестве основания системы счисления принимается 10.
Пример:
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
Возвращает строку конвертированную в unsigned long используя систему счисления с основанием base, которое по умолчанию равно 10 и должно находиться в интервале между 2 и 36, или 0. Если конвертировать не удалось, возвращает 0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
Если base равно 0, то используются соглашения языка C: Если строка начинается с "0x", то в качестве основания системы счисления принимается 16; если строка начинается с "0", то в качестве основания системы счисления принимается 8; в противном случает в качестве основания системы счисления принимается 10.
Пример:
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
См. также number().
Возвращает строку конвертированную в unsigned long long используя систему счисления с основанием base, которое по умолчанию равно 10 и должно находиться в интервале между 2 и 36, или 0. Если конвертировать не удалось, возвращает 0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
Если base равно 0, то используются соглашения языка C: Если строка начинается с "0x", то в качестве основания системы счисления принимается 16; если строка начинается с "0", то в качестве основания системы счисления принимается 8; в противном случает в качестве основания системы счисления принимается 10.
Пример:
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
См. также number() и toLongLong().
Возвращает строку конвертированную в unsigned short используя систему счисления с основанием base, которое по умолчанию равно 10 и должно находиться в интервале между 2 и 36, или 0. Если конвертировать не удалось, возвращает 0.
Если ok не равно 0: если нормально конвертировать не удалось, то*ok устанавливается в false; в противном случае *ok устанавливается в true.
Если base равно 0, то используются соглашения языка C: Если строка начинается с "0x", то в качестве основания системы счисления принимается 16; если строка начинается с "0", то в качестве основания системы счисления принимается 8; в противном случает в качестве основания системы счисления принимается 10.
Пример:
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
См. также number() и toShort().
Возвращает копию данной строки приведенную к верхнему регистру.
QString str = "TeXt"; str = str.toUpper(); // str == "TEXT"
См. также toLower().
Возвращает UTF-8 представление данной строки как QByteArray.
См. также fromUtf8(), toAscii(), toLatin1(), toLocal8Bit() и QTextCodec.
Возвращает строку из которой удалены предваряющие и завершающие символы пробелы.
Символами пробела считаются все символы для которых функция QChar::isSpace() возвращает true. Они включают такие ASCII символы, как '\t', '\n', '\v', '\f', '\r' и ' '.
Пример:
QString str = " lots\t of\nwhitespace\r\n "; str = str.trimmed(); // str == "lots\t of\nwhitespace";
В отличие от simplified(), trimmed() не затрагивает внутренние символы пробела.
См. также simplified().
Усекает строку в позиции pos.
Если pos больше длины строки, то ничего не происходит.
Пример:
QString str = "Vladivostok"; str.truncate(4); // str == "Vlad"
См. также chop(), resize() и left().
Возвращает заканчивающееся символовм '\0' Unicode представление строки. Результат остается действительным пока строка не будет изменена.
См. также setUnicode() and utf16().
Возвращает QString как оканчивающийся символом '\0' массив unsigned shorts. Результат остается действительным пока строка не будет изменена.
См. также setUtf16() и unicode().
Метод эквивалентен sprintf() за исключением того, что принимает va_list ap вместо списка переменных-аргументов. Для получения информации о cformat см. описание sprintf().
Данный метод не вызывает макрос va_end macro, так что вызов макроса va_end для ap - это забота вызывающего.
См. также sprintf().
Возвращает true если данная строка эквивалентна строке other; в противном случае возвращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Добавляет строку other в конец данной строки и возвращает ссылку на данную строку.
Пример:
QString x = "free"; QString y = "dom"; x += y; // x == "freedom"
Данный оператор обычно выполняется очень быстро (постоянное время), так как QString заранее занимает дополнительную память в конце строки, чтобы можно было изменять информацию без переноса строки каждый раз.
См. также append() и prepend().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Добавляет строку Latin-1 str к данной строке.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Добавляет массив байтов ba к данной строке. ba конвертируется в Unicode с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Добавляет строку str к данной строке. str конвертируется в Unicode с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Добавляет символ ch к данной строке. Символ конвертируется в Unicode с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Добавляет символ ch к данной строке.
Возвращает true если данная строка лексически меньше строки other; в противном случае вовзращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Возвращает true если данная строка лексически меньше или равна по отношению к строке other; в противном случае возвращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Присваивает значение other данной строке и возвращает ссылку на данную строку.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Присваивает значение строки Latin-1 str данной строке.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Присваивает значение ba данной строке. ba конвертируется в Unicode с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Присваивает значение str данной строке. str конвертируется в Unicode с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Присваивает данной строке значение символа ch. Конвертация символа в Unicode выполняется с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Устанавливает строку в качестве контейнера для единичного символа ch.
Возвращает true если строка other эквивалентна данной строке; в противном случае возвращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Возвращает true если данная строка лексически больше строки other; в противном случае возвращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Возвращает true если данная строка лексически больше или равна строке other; в противном случае возвращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
other конвертируется в QString с использованием fromAscii().
Вы можете запретить использование данного оператора определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, например, если вы хотите быть уверенными, что все строки пользовательского интерфейса будут пропущены через QObject::tr().
Возвращает символ стоящий в позиции с индексом i как модифицируемую ссылку.
Пример:
if (str[0] == QChar('?')) str[0] = QChar('_');
Возвращаемое значение имеет тип QCharRef - вспомогательный класс QString. Вы можете использовать объект QCharRef так, как будто это объект типа QChar &. Если Вы присваиваете ему какое-либо значение, то это значение будет присвоено символу из строки QString от которой была получена ссылка.
См. также at().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Функция аналогична at(i).
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает true если s1 не эквивалентна s2; в противном случае возвращает false. Обратите внимание, что никакая строка не эквивалентна строке s1 являющейся 0.
Для s1 != 0, данная функция аналогична compare(s1, s2) != 0.
Данная перегруженная функция предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает строку являющуюся результатом конкатенации строки s1 и строки s2.
Данная перегруженная функция предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает строку являющуюся результатом конкатенации строки s1 и строки s2. s2 конвертируется в Unicode с использованием fromAscii().
Данная перегруженная функция предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает строку являющуюся результатом конкатенации строки s1 и строки s2. s1 конвертируется в Unicode с использованием fromAscii().
Данная перегруженная функция предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает строку являющуюся результатом конкатенации строки s и символа ch.
Данная перегруженная функция предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает строку являющуюся результатом конкатенации символа ch и строки s.
Возвращает true если строка s1 лексически меньше, чем строка s2; в противном случает возвращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Для s1 != 0, данная функция аналогична compare(s1, s2) < 0.
Записывает строку str в поток out.
См. также Формат операторов QDataStream.
Возвращает true если строка s1 лексически меньше или равна строке s2; в противном случает возвращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Для s1 != 0, данная функция аналогична compare(s1, s2) <= 0.
Возвращает true если строка s1 эквивалентна строке s2; в противном случае возвращает false. Обратите внимание: никакая строка не эквивалентна строке s1 являющейся 0.
Для s1 != 0, данная функция аналогична && compare(s1, s2) == 0.
Возвращает true если строка s1 лексически больше строки s2; в противном случае возвращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Эквивалентно compare(s1, s2) > 0.
Возвращает true если строка s1 лексически больше или равна строке s2; в противном случае возвращает false.
Сравнение основано на числовых значениях символов Unicode и выполняется очень быстро, но результат может отличаться от ожидаемого пользователем. При необходимости сортировки строк в пользовательском интерфейсе обратите внимание на localeAwareCompare().
Для s1 != 0, данная функция аналогична compare(s1, s2) >= 0.
Читает из потока in в строку str.
См. также Формат операторов QDataStream.
Copyright © 2005 Trolltech | Trademarks | Qt 4.1.0 |