Написать приложение с использованием библиотеки Qt позволяющее добавлять примитивы заданных размеров и формы (эллипсы, прямоугольники, многоугольники), а также возможность задавать связи между этими элементами (ввиде линии).
Заданные примитивы должны отрисовываться на экране. Каждый добавленный примитив должен идентифицироваться и храниться в базе данных, информацию из базы данных отобразить пользователю при помощи моделей (QSqlTableModel) и связей с пользовательскими виджетами (QTableView), позволить пользователю фильтровать отображаемые примитивы, т.е. скрывать заданные типы фигур или конкретные экземпляры фигур, причем физически данные из базы не должны удаляться.
Реализовать возможность удаления выбранной фигуры из представления и базы данных. Данные которые должны храниться в базе данных: идентификатор фигуры, тип фигуры, идентификаторы тех фигур с которыми связана данная,общее количество фигур такого типа.
В представлении пользователя реализовать отображение числа элементов данного типа ввиде делегата, т.е. если число хранимых элементов от 1 до 3 рисовать один элемент фигуры (один прямоугольник или один эллипс в ячейке таблицы), если от 4 до 10 -- две иконки фигуры в соответствующей ячейке, если элементов больше то три фигурки выбранного типа.
После удаления одной из фигур все связи должны автоматически удаляться.
За материалом по работе с базами данных обращайтесь к Лекции №11.