Реклама

SvgReader на Qt. Восстановление данных из файла SVG в QGraphicsScene

В прошлой статье был рассмотрен пример того, как сохранить объекты графической сцены в файл SVG, а потом мы смогли открыть его в CorelDraw. А теперь попробуем этот же самый файл открыть и восстановить графические объекты в QGraphicsScene. Отмечу, что мы не будем использовать класс QSvgRenderer для этого по той причине, что он без проблем поместит…

Сохранение объектов QGraphicsScene в файл векторной графики SVG

С помощью библиотеки Qt можно сохранять содержимое графической сцены QGraphicsScene в файлы векторной графики формата SVG, которые после без проблем открываются в таких редакторах, как CorelDraw. Предлагаю написать небольшое приложение, которое позволит сохранить содержимое графической сцены в файл формата SVG, а потом откроем его с помощью CorelDraw. Структура проекта Для демонстрации создадим совсем простую программу, содержимое которой…
Advertisement

GameDev. Работаем с QGraphicsObject вместо QGraphicsItem

Моё внимание обратили на то, что для работы с сигналами и слотами вместо класса наследованного от QGraphicsItem и от QObject можно использовать класс наследованный от QGraphicsObject. И действительно, если немного покопаться в исходниках QGraphicsObject, то обнаружится, что это класс наследованный от QGraphicsItem и от QObject. То есть также применяется множественное наследование, только в данном случае все…

Полиморфизм в Qt на примере геометрических фигур в QGraphicsScene

Полиморфизм является одной из парадигм ООП (объектно-ориентированное программирование). Полиморфизм реализует способность базового класса предоставлять свойства и методы, реализация которых не известна для будущих классов, которые будут наследованы от данного класса. То есть базовый класс в данном случае имеет весь необходимый набор методов для реализации поставленных задач, но конкретная реализация определённых методов возлагается на классы потомки. И,…

Перетаскивание QGraphicsItem на QGraphicsScene мышью

Допустим, что вы делаете приложение, которое будет отображать на графической сцене элементы сетевой инфраструктуры. Вопрос в том, как сделать перемещение этих элементов мышью, то есть осуществлять перетаскивание элементов. Иными словами брать элемент мышью и осуществлять его перемещение в другое место графической сцены. Давайте разберёмся, как это сделать. Структура проекта Для демонстрации примера создаём новый проект…

GameDev. Отслеживание перемещения мыши в QGraphicsScene

Все помнят игру Crimsonland? Там нужно было валить монстров штабелями. Для перемещения по игровому полю мы использовали клавиши W, A, S, D, а для направления стрельбы курсор мыши, за которым производилось отслеживание. Так вот, сам по себе механизм работы этого самого отслеживания мыши предельно прост. Реализаций может быть множество, в зависимости от используемых инструментов в программировании,…

Рисование мышью в Qt

А в этом уроке освоим рисование мышью в Qt на основе примитивнейшего аналога Paint с использованием QGraphicsScene. Никаких регулировок, ни размеров кисти, ни палитры, ни спецэффектов, а просто красная линия, которую мы будем рисовать мышью. Задача поставлена – вперёд исполнять! Структура проекта В структуру проекта входят следующие файлы: paint.h – заголовочный файл виджета, в котором будет…

Как написать игру на Qt – Урок 4. Враг – смысл в выживании

Продолжаем тему того, как написать игру на Qt. После того, как в прошлых статьях была создана Муха, которая поедает яблоки, настало время создать ей врага. А Враг Мухи, как известно, Паук. Создание игровых персонажей, которые будут участвовать в непосредственной жизни Вашего главного героя – это не только отрисовка анимации действий и передвижения, а также логика реакций…

Как написать игру на Qt – Урок 3. Взаимодействие с другими объектами

После того, как в игре присутствует анимированная Муха, которая передвигается под воздействием клавиш клавиатуры, настало время добавить смысл в игру. Добавим цель Мухе, например, она будет поедать яблоки, которые будут подсчитываться. То есть необходимо настроить взаимодействие Мухи с другими объектами, в данном случае с яблоками. Для яблок необходимо создать отдельный класс, который также будет отнаследован…

Как написать игру на Qt – Урок 1. Управление объектом

С этого урока начинается серия статей о том, как написать игру на Qt. В предыдущей статье было рассказано о системе позиционирования графических элементов QGraphicsItem в графической сцене QGraphicsScene. Был нарисован треугольник и помещён в центр графической сцены, размеры которой были 500 на 500 пикселей. А теперь настало время этот треугольник оживить, а вернее начать им управлять. Составим…