Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Програмирование платформенно-независимых систем > Trolltech Qt
Перезагрузить страницу Неадекватно работает QGraphicsItem::contains
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
jerdeks jerdeks вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 31.01.2011
По умолчанию Неадекватно работает QGraphicsItem::contains - 14.09.2011, 10:43

Есть главные айтем - main_item. На нем лежат остальные объекты. Хочу их перетаскивать. Функции itemAt недостаточно, потому что она определяет не точную границу фигуры, а прямоугольник, в который она вписана. Ну то есть элипс например таскается за несуществующий угол. Функция contains определяет границы правильно, но иногда возвращает false, даже если тыкаю явно в центр фигуры 0_о Собственно, в этом вся проблема - то таскаются айтемы, то нет. Объясните, что я не так делаю, пожалуйста =)
lockScene - чтобы таскать main_item, собственно для вопроса это не нужно

cpp Код:
void MyScene::mousePressEvent(QGraphicsSceneMouseEvent* 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<QGraphicsView*>(this->parent)
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень интересный случай, внешняя видеокарта то работает, то не работает. dmsday Техническая поддержка 20 22.01.2018 14:04
Встроеная видеокарта работает, а внешняя не работает. Даниил Платов Техническая поддержка 11 09.12.2012 02:52
Как работает ИБП? TAMEPJlAH Блоки питания 1 09.04.2012 10:20
Wi-fi не работает des0l8or Сетевые подключения 0 05.12.2011 15:26
Сеть есть. а интернет нормально не работает, не работает интернет Leshiy666 Сетевые подключения 1 22.09.2008 19:00
Монитор acer1715 не работает с ПК, с ноутбуком работает без проблем. пппавел Техническая поддержка 2 13.08.2008 12:24
Программа то работает, то не работает в зависимости от PC что с этим делать Kostafey Delphi 6 06.11.2005 02:42
Debug работает , Release - не работает что с этим делать NiТR0 Visual C++ 2 04.07.2005 11:27
Кто в чём работает Olesya Мысли вслух 33 20.01.2005 17:54
Написанная программа не работает в отладчике и не работает в ОС Youri Visual C++ 0 28.05.2004 23:49
Debug работает, Release не работает в чем причина Vladimir the Red Sunny Visual C++ 11 18.10.2003 21:55



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов