12.4 Робота з текстовими рядками Qt. Клас QString. Списки рядків QStringList.
Звичайні рядки досить прості у використанні, але працювати з ними не дуже зручно в ряді випадків. Один із них, це підтримка вибору кодувань для тексту. Адже, як відомо, існує багато різних стандартів кодування символів тексту, які відрізняються підтримкою різного діапазону символів, що кодуються.
У Qt для роботи з рядками є потужний і спеціалізований клас - QString. Він має підтримку Unicode, можливість перетворення тексту між різними кодуваннями та у звичайні рядки С та std::string . А також він має гарну швидкодію та багатий набір інструментів для роботи. Підтримка Unicode дозволяє працювати з текстом будь-якою мовою світу, що дуже важливо при локалізації графічного інтерфейсу програми.
Розглянемо методи роботи з текстовими рядками в Qt. Перед початком роботи з текстом Qt потрібно підключити файл опису QString :
Як майже для всіх класів Qt , назва класу збігається з назвою файлу опису класу, який необхідно підключити за допомогою директиви #include .
Існує велика кількість різних способів додавання рядків та символів до існуючого рядка:
Також є можливість виділення частини рядка або поділу її на частини:
Для перевірки на порожній рядок використовують метод isEmpty(). Його не слід плутати з методом isNull() , який повертає значення true тільки для ще не ініціалізованого рядка. Наприклад:
QString має інструменти для перетворення std::string і навпаки. Наприклад:
Також QString має засоби для роботи з числовою інформацією:
Для роботи зі списком рядків Qt передбачений спеціалізований типQStringList. QStringList відносять до контейнерних класів Qt. Докладніше класи-контейнери ми розглянемо у наступному параграфі.