![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
toni.lobster |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 23.9.2014 Пользователь №: 4231 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Задача - нарисовать нотный лист.
есть QGraphicsScene, есть QGraphicsRectItem - это страница(str) Есть QGraphicsRectItem - это нотоносец(staff), установлено staff.setParentItem(str), т.е при изменениях страницы нотоносцы меняются с ней. Нотоносец можно двигать по сцене. и есть QGraphicsEllipseItem- нота(note), должна добавляться на нотоносец по щелчку правой кнопки мыши. Координаты вычисляются note.setPos(event.scenePos()). и для нее ParentItem - это staff. НО есть проблема - если я двигаю staff по листу, то при вызове note.setParentItem координаты пересчитываются относительно staff, т.е если позиция курсора была в точке 10,10 на сцене, то при пересчете она станет 10,10 на нотоносце, что будет уже не под курсором. Мне надо сохранить 2 пункта - нота добавляется в позицию курсора и при этом она связана с нотоносцем, с которым движется и масштабируется. Есть конечно вариант все время учитывать координаты нотоносца относительно листа и вносить поправки при добавлении ноты, но может быть есть что-то проще? Спасибо! |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 6:00 |