Здравствуйте, гость ( Вход | Регистрация )
|
AntonTatu |
27.11.2008, 12:37
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0
|
Всем привет.!!! Вопрос такой:
Создаю собственный класс унаследованный от QGraphicsItem, определяю в нем методы: MyItem::boundingRect(); MyItem::painter (рисую круг), MyItem::mousePressEvent, MyItem::mouseMoveEvent, MyItem::mouseReleaseEvent, разрешаю перетаскивать MyItem мышкой (setFlag(ItemIsMovable); Создаю собственный класс унаследованный от QGraphicsView, определяю в нем метод: MyView::mousePressEvent определяю сцену.... При нажатии кнопки мышки срабытывает MyView::mousePressEvent и отрисовывает в точке соответствующего положения мышки кружочек, (при этом созданный Item записываю в список) можно их нарисовать много и перетаскивать, только понять не могу как сделать так что бы нельзя было рисовать в месте в котором уже кружок нарисован ?, т.е. не допустить наложения двух кружочков на сцене.. Пробовал в методе MyView::mousePressEvent сравнивать текущее положение мышки с положениями Item-ов записанными в список и в зависимости от этого рисовать или не рисовать новый, но к сожалению это не хороший путь в сохраненную точку невозможно попасть.... ЗЫ: прочитал свой вопрос..... ЗЫЫ: перерыл всю возможную литературу, ответа не нашел но есть же способ мне бы малинький примерчик..... |
|
|
|
![]() |
|
AntonTatu |
27.11.2008, 15:10
Сообщение
#2
|
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0
|
мне нужно каким то образом делать вот что:
при нажатии на кнопку мышки определять что я нажал не на пустое поле а на кружок, и не рисовать рядом новый, соответственно при нажатии на пустое поле нарисовать кружок...., как рисовать я знаю, как определить что под мышкой находится кружок ? |
|
|
|
AntonTatu QGraphicsItem отрисовка по нажатию кнопки вопрос... 27.11.2008, 12:37
ViGOur Если я тебя правильно понял, то тебе нужно поиграт... 27.11.2008, 14:56
ViGOur Тебе в памяти нужно будет держать регионы, или при... 27.11.2008, 15:31
AntonTatu Цитата(ViGOur @ 27.11.2008, 15:31) Тебе в... 27.11.2008, 15:38
ViGOur Ну например:
// QList<QRect> rectList, спи... 27.11.2008, 16:45
AntonTatu Цитатанадеюсь идея понятна...
идея совершенно неп... 28.11.2008, 1:18
ViGOur а вот с этим уже играться нужно и читать, я пока н... 28.11.2008, 11:01
Yaroslav Если уже было решение этой проблемы пожалуйста нап... 28.2.2011, 16:35![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 11:29 |