Архив рубрики: Готовые методы реализаций

Небольшие фрагменты кода для наглядного примера

QColorDialog 

Пример реализации QColorDialog и получение данных из модельного окна. Небольшой но очень информативный пример реализации получение QColor из диалогового окна. В данном примере вызовем диалог и получим выбранное значение QColor. Полный код реализации: Перед запуском передаем значение, данный параметр необязателен. Дальше запустится диалоговое окно в котором можно будет выбрать цвет.

Время выполнения

Измерить время выполнения участка кода Для измерения времени выполнения участка кода можно использовать возможности класса QTime. Данный класс позволит замерить время в миллисекундах и вывести значения с помощью QDebug() или другого метода. Пример использования класса QTime:

Преобразование массива

Преобразование массива в вектор Рассмотрим несколько методов преобразование из массива в std::vector. Так же рассмотрим преобразование QByteArray в std::vector и QVector. Для начала рассмотрим преобразования массива в std::vector  Объявим значения для преобразования: std::copy и back_inserter Описание функции: Копирует элементы в диапазоне [first, last) в диапазон, начинающийся с результата. Функция возвращает итератор в конец целевого диапазона… Читать далее »

Удаление из QList

Удаление нескольких элементов из QList при помощи итератора QMutableListIterator В QList есть и итераторы в стиле Java, и итераторы в стиле STL. Итераторы в стиле Java являются более высокоуровневыми и более простыми в использовании, чем итераторы в стиле STL, с другой стороны, они немного менее эффективны. Альтернативой использованию итераторов является использование позиций индекса. Большинство функций-членов… Читать далее »

Удаление из QVector

Удаление нескольких элементов из QVector при помощи итератора QMutableVectorIterator Создаем итератор для обхода вектора. Итератор установлен в начале вектора (перед первым элементом). Фрагмент кода для демонстрации: В итоге удалятся все элементы больше 10. В QVector есть и итераторы в стиле Java, и итераторы в стиле STL. Итераторы в стиле Java являются более высокоуровневыми и более… Читать далее »

Поиск в QMap

Поиск с помощью Iterator в QMap, QHash, QMultiMap. Поиск по ключу в контейнере QMap. Возвращает итератор, указывающий на найденный элемент. Если элемент не найден возвращает end(). Если найдено несколько значений с данным ключом, то возвращает итератор который указывает на последнее добавленное значение. Аналогичный принципы и для QHash и QMultiMap. Фрагменты кода:

Из enum в QString

Преобразование полей enum в QString Для данного действия используем макрос Q_ENUM, который регистрирует перечисляемый тип в системе метаобъектов. Он должен быть помещен после объявления enum в класс, который имеет макрос Q_OBJECT.  С типом доступа public. Перечисления, объявленные с помощью Q_ENUM, имеют свой QMetaEnum, зарегистрированный во включающем объекте QMetaObject. Можно использовать QMetaEnum :: fromType(), чтобы получить… Читать далее »

Иконка в Qt

Добавление иконки для приложения Qt Для Win создаем файл с расширение *.rc и добавляем следующий текст: Где «1.ico»  — файл иконки Далее добавляем в *.pro файл следующий текст: Для появления иконки запустить qmake Для Linux используется следующий метод: Добавляем файл иконки в ресурсы *.qrc. В функции main добавляем новый параметр: