a
avovana10 мая 2018 г. 5:16

Расталкивание квадратов

QGraphicsScene

Расталкивание квадратов при перетаскивание квадрата.
Хотел поинтересоваться, можно ли реализовать? Если да - то куда капнуть? :)

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

2
Evgenii Legotckoi
  • 10 мая 2018 г. 5:27

Да, реализовать можно.


Копать нужно в сторону обнаружения коллизий. Например, в этой статье есть примеры получения пересекающихся на графической сцене объектов через метод collidingItems().

В том примере, по которому вы задаёте вопрос, можно проверять пересечение с другими объектами в методе mouseMoveEvent . И изменять положение других объектов с которыми у вас есть пересечение так, чтобы они отъезжали от перетаскиваемого объекта.
Но при этом нужно сразу проверять на столкновение и те объекты, которые уже разъехались от перетаскиваемого объекта. Единственной сложностью будет возможное возникновение циклических зависимостей при расталкивании объектов. Но весь масштаб проблемы можно будет понять уже во время тестирования.
    a
    • 10 мая 2018 г. 7:47

    Понял, спасибо за ответ.

      Комментарии

      Только авторизованные пользователи могут публиковать комментарии.
      Пожалуйста, авторизуйтесь или зарегистрируйтесь
      Дмитрий

      C++ - Тест 004. Указатели, Массивы и Циклы

      • Результат:60баллов,
      • Очки рейтинга-1
      Дмитрий

      C++ - Тест 003. Условия и циклы

      • Результат:92баллов,
      • Очки рейтинга8
      d
      • dsfs
      • 26 апреля 2024 г. 1:56

      C++ - Тест 004. Указатели, Массивы и Циклы

      • Результат:80баллов,
      • Очки рейтинга4
      Последние комментарии
      k
      kmssr8 февраля 2024 г. 15:43
      Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
      АК
      Анатолий Кононенко4 февраля 2024 г. 22:50
      Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
      EVA
      EVA25 декабря 2023 г. 7:30
      Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
      J
      JonnyJo25 декабря 2023 г. 5:38
      Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
      G
      Gvozdik18 декабря 2023 г. 18:01
      Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
      Сейчас обсуждают на форуме
      G
      George136 мая 2024 г. 21:27
      добавить qlineseries в функции в функции: "GPlotter::addSeries(QString title, QVector &arr)" я вызываю метод setChart(...), я в конструктор передал адрес на QChartView элемент
      BlinCT
      BlinCT5 мая 2024 г. 2:46
      Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
      PS
      Peter Son3 мая 2024 г. 14:57
      Best Indian Food Restaurant In Cincinnati OH Ready to embark on a gastronomic journey like no other? Join us at App india restaurant and discover why we're renowned as the Best Indian Food Restaurant In Cincinnati OH . Whether y…
      Evgenii Legotckoi
      Evgenii Legotckoi2 мая 2024 г. 11:07
      Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.
      IscanderChe
      IscanderChe30 апреля 2024 г. 1:22
      Во Flask рендер шаблона не передаётся в браузер Доброе утро! Имеется вот такой шаблон: <!doctype html><html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="{{ url_…

      Следите за нами в социальных сетях