Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Архив вопросов и ответов (https://www.otvetnemail.ru/arhiv-voprosov-i-otvetov-805/)
-   -   Неадекватно работает QGraphicsItem::contains (https://www.otvetnemail.ru/arhiv-voprosov-i-otvetov-805/neadekvatno-rabotaet-qgraphicsitem-contains-330317/)

Guest 30.09.2011 09:02

Неадекватно работает QGraphicsItem::contains
 
Есть главные айтем - main_item. На нем лежат остальные объекты. Хочу их перетаскивать. Функции itemAt недостаточно, потому что она определяет не точную границу фигуры, а прямоугольник, в который она вписана. Ну то есть элипс например таскается за несуществующий угол. Функция contains определяет границы правильно, но иногда возвращает false, даже если тыкаю явно в центр фигуры 0_о Собственно, в этом вся проблема - то таскаются айтемы, то нет. Объясните, что я не так делаю, пожалуйста lockScene - чтобы таскать main_item, собственно для вопроса это не нужноКодC++ (Qt)void MyScene::mousePressEvent(QGraphicsSceneM ouseEvent* mouseEvent) { switch (mouseEvent->button()) { case Qt::LeftButton : if ((curItem = itemAt(mouseEvent->scenePos())) && curItem->contains(mouseEvent->scenePos()) && curItem != view->main_item) lockCurItem = true; lockScene = !lockCurItem; break; }}А, да. view это static_cast(this->parent)


Часовой пояс GMT, время: 03:49.


© www.otvetnemail.ru - Форум вопросов и ответов.