Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
РА
10 марта 2019 г. 1:28

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

Здравствуйте, ребят! Пишу вам поп поводу своего проекта. Вообщем, я никак не могу получить линию между двумя кругами. Вопрос как это сделать ? И через что? У меня стоит задача построить граф компьютерной сети. С добавлением на сцену определённых объектов разобрался, а что дальше? как при нажатии на кнопку выполнить объекдинение? Точнее при клике на два круга между ними должна быть линия. Причём эта линия не должна выходить за границы кругов. Как это сделать ? Прикрепляю файл проекта. И ещё такой вопрос. Как при нажатии мышкой выполнить уджаление объекта? Я написал одному своему товарищу но решил подстраховаться здесь. Может кто-то выполнить ? Т.к. даже если я до чего-то докопаюсь, то даже не знаю что делать с этим. Просто правда ребят, я почти 3 день сижу.....и всё без толку....помогите пожалуйста.....прошу!!! GraphKS_WgAZIB4.rar GraphKS_WgAZIB4.rar

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

Добрый день.

Ну вот примерно так это может быть сделано. GraphKS.zip GraphKS.zip

0
РА

Евгений, Огромное вам спасибо!!!! Очень выручили)))) Благодарю!!!! Тему можно считать закрытой. Но у меня ещё несколько вопросов. 1) Существует ли в Qt запись в файл? 2) Можно ли округлять значение в Qt? 3) Возможна ли интеграция исходника на С++ в Qt? 4) Вообщем это всё в дальнейшем нужно для моего проекта. Могу ли я чуть позже (через месяц - два) написать про это статью? Может быть кому-то он пригодиться. 5) Есть ли контекстное меню в Qt?

0

Пожалуйста.

  1. Да, для этого используется класс QFile, для выбора файла можно использовать QFileDialog
  2. Qt - это всего лишь фреймворк, библиотека, всё, округлять можно и средствами самого C++, обычно это делают через каст на int. Также в Qt есть набор своих математических функций, которые к слову дублируют стандартную библиотеку.
  3. Конечно, Qt написан на C++, поэтому нет никакой идеологической проблемы в подключении C++ библиотек в проекте на Qt, кроме чисто технических проблем, которые как правило решаемы.
  4. Да, без проблем, будет очень хорошо и кому-то может оказаться полезным. Но я бы предварительно сделал ревью вашего кода, можете создать тему на форуме. Всё-таки то, что я увидел хоть и написано было аккуратно, но всё-таки слабовато, есть куда расти.
  5. Да, есть. Класс QMenu
0
РА

Евгений у меня к вам последняя просьба, если будет время. Чуть подправил ваш код. А можете ещё чуть помочь? Буквально чуть-чуть. Как в данном проекте при перемещении кругов автоматически протянуть линию? Т.е. если перемещается один из кругов, то линия уменьшается/увеличивается за ним? помогите))))) Просто не работал с графикой. Если можно. А все остальное я выполню по данному проекту сам.Перекину чуть позже структуру проекта (что я задумал вообще).

0

Позже...

Там под идее, при создании линии нужно передать в линию указатели на оба круга, чтобы она знала от каких кругов зависит и аналогичным образом хранить вектор всех линиий у каждого круга. Тогда при передвижении круга нужно просто перерисовывать позиции линий, который зависят от этих кругов, да отслеживать удаление объектов.

Естественно, нужно этот функционал дописывать.

0
РА

Хорошо. Спасибо, буду ждать. Огромное вам спасибо, очень выручите.

0
РА

Тему пока оставлю открытой

0

Я помню, просто физически времени не было ))

0
РА

Хорошо. Просто не работал с графикой. Спасибо огромное)))

0

Добрый день.

Вот, нашлось у меня немного времени. Делается это через шаблон проектирования наблюдатель.

GraphKS_mfvSlup.zip GraphKS_mfvSlup.zip

0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
IT
25 марта 2019 г. 17:32
Ilya The Engineer

Qt - Тест 001. Сигналы и слоты

  • Результат:5баллов,
  • Очки рейтинга-10
G
25 марта 2019 г. 8:34
GAG

C++ - Тест 002. Константы

  • Результат:41баллов,
  • Очки рейтинга-8
G
25 марта 2019 г. 8:25
GAG

C++ - Тест 001. Первая программа и типы данных

  • Результат:66баллов,
  • Очки рейтинга-1
Последние комментарии
26 марта 2019 г. 8:49
Евгений Легоцкой

Да Да Да. Я тоже сейчас вспомнил, что проблема -R в том, что права и для файлов и для каталогов устанавливаются. А для веб-серверов нужно, чтобы права на каталоги были 755, а на файлы 64...
26 марта 2019 г. 8:47
Ruslan Polupan

Был не прав....Почитал маны, флаг «выполнения» по-разному действует на файлы и каталоги.Правильно так chmod -R go=rX,u=rwX /path/to/target/dir
26 марта 2019 г. 8:35
Евгений Легоцкой

По моему, только эта директория /path/to/target/dir и получит эти права, а все остальные вложенные остануться с тем, с чем были. UPD: Или я что-то жёстко путаю? ))) Надо переп...
22 марта 2019 г. 12:32
Евгений Легоцкой

Ну может бибилотеки не те положили? У вас сборка для MinGW, а либы для MSVC.
Сейчас обсуждают на форуме
26 марта 2019 г. 12:07
Евгений Легоцкой

Пожалуйста, не загружайте сейчас никакие изображения, это сейчас не работает. Вечером исправлю, остались ошибки на сервере после его переезда.
U
25 марта 2019 г. 12:43
Unreal_man

Как сделать чтоб при клике на ячейку(ос андроид) ее сразу можно было редактировать?QGuiApplication::inputMethod()->show(); показывает клавиатуру, а вот что до этого прописать чтоб текст в ...
m
24 марта 2019 г. 10:36
monevich

Отвечу на свой же вопрос, может кому то это пригодится. Да, можно в функции main использовать такую конструкцию. При запуске программы из Qt передаю свой аргумент в параметрах командной строк...
22 марта 2019 г. 12:29
Дмитрий

Да, мьютекс добавил, но в том потоке, где сигнал вызывается.
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы