РА
5 марта 2019 г. 6:07

Связь объектов при помощи кликов мыши.

Клики мышью

Ребят всем привет. Прошелся по сайту и пересмотрел множество уроков, проанализировал. Но всё-таки так не к чему умному и не пришёл. Я уже обратился за помощью к администратору сайта, он направил на форум.
В двух словах у меня есть одна задача, и я бы хотел её реализовать. Попробую в кратце описать того что я хочу сделать.
Вообщем пользуясь уроком, я все сделал так как надо, но только единственное переписал квадраты на круги.
Теперь мне стала интересна одна вещь и задача такая. Допустим я добавил два круга. И они отобразились. Я могу их перемещать (всё как в уроке). Вопрос: как при нажатии сначала на один круг, затем на другой нарисовать между ними линию? Но только она не должна выходить за границы самих фигур.
Т.е. алгоритм таков : я добавляю два круга, и могу их перетаскивать. Затем, при нажатии на 1 круг мышкой (кликом) а затем на второй круг между ними образуется линия, но не выходит за рамки ни 1 круга, ни второго.
Можно это сделать как-то ? Очень хочется с примером кода. Иначе я просто воообще не представляю как организовать подобное. Помогите!!!))))) Я просто изучаю Qt день 4 максимум. Можете описать хотя бы без перетаскивания фигнур как это вообще происходит ? И фигуры могут быть абсолютно любыми. Мне главное в коде уловить смысл и не более того.

2
Вопрос задан по статьеQt/C++ - Урок 023. Перетаскивание QGraphicsItem на QGraphicsScene мышью

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

8
m
  • 5 марта 2019 г. 12:52

В свое время я задавал похожий вопрос, только там была отрисовка линии за мышкой
Затем я несколько доработал проект. Линия стала отрисовываться, если пересекала два круга - брала координаты их центров и соеденяла их. Вам же нужно получать эти координаты по щелчку мыши. Попробуйте сделать так. Если не получится, то я мог бы вечером выложить свой код

    РА
    • 5 марта 2019 г. 12:56

    Спасибо. Вечером буду что называется репу чесать.

      РА
      • 5 марта 2019 г. 12:57

      Если что, отпишусь это то что я искал или нет.

        РА
        • 5 марта 2019 г. 13:02

        Если они не выходят за грани самих кругов, то это очень хорошо. Через часик-два проверю. Сейчас компьютера нет под рукой.

          РА
          • 6 марта 2019 г. 0:38
          • (ред.)

          Выходят за грани ....давайте поступим так. Я на выходных воложу что у меня вышло в итоге.
          А пока поробую сам.
          Напишу свой код и тогда скажу чего я именно хочу.

            m
            • 6 марта 2019 г. 1:12
            • (ред.)

            Хорошо, попробуйте, если не получится, пишите, выложу свой код или по вашему коду, что-нибудь подскажу.

              РА
              • 6 марта 2019 г. 1:25

              Разрешите добавить вас в друзья?

                m
                • 6 марта 2019 г. 1:41

                Добавил

                  Комментарии

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