Готовые решения типовых задач на Qt и C++: проверенные функции и классы, которые можно взять и использовать в своём проекте. Минимум теории — максимум законченного кода с пояснением, как и почему он работает.
Время выполнения
Измерить время выполнения участка кода Для измерения времени выполнения участка кода можно использовать возможности класса QTime. Данный класс позволит замерить время в миллисекундах и вывести значения с помощью…
Преобразование массива
Преобразование массива в вектор Рассмотрим несколько методов преобразование из массива в std::vector. Так же рассмотрим преобразование QByteArray в std::vector и QVector. Для начала рассмотрим преобразования массива в std::vector …
Удаление нескольких элементов из QList при помощи QMutableListIterator
Назначение В QList есть и итераторы в стиле Java, и итераторы в стиле STL: Характеристика Java-стиль STL-стиль Уровень Высокоуровневые Низкоуровневые Простота Проще в использовании Требуют больше внимания Эффективность Немного менее эффективны Более…
Удаление нескольких элементов из QVector при помощи QMutableVectorIterator
Назначение Класс QMutableVectorIterator<T> позволяет перебирать QVector<T> и изменять вектор прямо во время обхода — в частности, удалять элементы. Если модификация не нужна, следует использовать более быстрый QVectorIterator<T>. Итераторы в стиле Java vs STL В QVector есть и…
Поиск с помощью итераторов в QMap, QHash и QMultiMap
Общие принципы Поиск по ключу во всех трёх ассоциативных контейнерах Qt выполняется методом find(), который возвращает итератор, указывающий на найденный элемент. Поведение метода единообразно для QMap, QHash и QMultiMap: Именно поэтому после вызова find() обязательно проверять результат…
Преобразование полей enum в QString
Назначение Для преобразования значений enum в строковое представление в Qt используется макрос Q_ENUM, который регистрирует перечисляемый тип в системе метаобъектов. Благодаря этому появляется возможность получать имена значений перечисления во время выполнения. Требования…
Добавление иконки для приложения Qt
Windows Шаг 1. Создание RC-файла Создаём файл с расширением .rc (например, file.rc) и добавляем в него следующую строку: IDI_ICON1 ICON "1.ico" Здесь "1.ico" — путь к файлу иконки. IDI_ICON1 — произвольный идентификатор ресурса, который будет…
Перебор значений QMap
QMap — это отсортированная по ключу ассоциативная коллекция из Qt, реализованная как сбалансированное дерево. Очень часто требуется обойти все её элементы — по ключам, по значениям, или по…