JP
Julia PominchukApril 18, 2016, 10:15 a.m.
Построение схем из графических элементов
QGraphicsScene, GridLayout, Qt, scheme
Добрый день!
Прошу, пожалуйста, помочь с таким вопросом.
Создаю программу, которая рассчитывает электрические или комбинационые схемы (точно пока не определилась, но это не особо влияет на суть вопроса). Целью задачи есть сложить эту схему.
Нажимая на кнопку, мы поучаем нужный элемент и перетаскиваем в нужную позицию.
На этом сайте нашла урок о графической сцене и перетаскиванию по ней элементов, он очень помог, но осталось два вопроса:
1) как сделать так, чтобы элемент становился не в произвольную позицию, а как будто разбить поле на прямоугольные участки;
2) приоритетный в решении момент. Как понять, что два элемента стоят рядом, то есть соединены в цепь или что выходы одного элемента подключены ко входам второго.
Прошу, пожалуйста, помочь с таким вопросом.
Создаю программу, которая рассчитывает электрические или комбинационые схемы (точно пока не определилась, но это не особо влияет на суть вопроса). Целью задачи есть сложить эту схему.
Нажимая на кнопку, мы поучаем нужный элемент и перетаскиваем в нужную позицию.
На этом сайте нашла урок о графической сцене и перетаскиванию по ней элементов, он очень помог, но осталось два вопроса:
1) как сделать так, чтобы элемент становился не в произвольную позицию, а как будто разбить поле на прямоугольные участки;
2) приоритетный в решении момент. Как понять, что два элемента стоят рядом, то есть соединены в цепь или что выходы одного элемента подключены ко входам второго.
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
AD
- Akiv Doros
- Nov. 11, 2024, 2:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 1:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
m
- molni99
- Oct. 26, 2024, 1:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
Last comments
Evgenii LegotckoiOct. 31, 2024, 2:37 p.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовOct. 5, 2024, 7:51 a.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Now discuss on the forum
Evgenii LegotckoiJune 24, 2024, 3:11 p.m.
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey1Nov. 15, 2024, 6:04 a.m.
NSProjectJune 4, 2022, 3:49 a.m.
IscanderCheOct. 31, 2024, 3:43 p.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
Добрый день. Давайте по порядку разберёмся.
Я так понимаю, смотрели вот этот урок про перетаскивание графических элементов на графической сцене?
Чтобы все объекты перемещались по строго заданным координатам, то можно урок просто модифицировать следующим образом.
И модифицируем метод события перемещения мыши в самом классе квадрата
Также я немного уменьшил размеры квадратов для наглядности.
После этих изменений объекты будут двигаться с заданным шагом в 25 пикселей.
А относительно присоединений.. Вам тогда нужно разработать собственный дизайн графических элементов, чтобы ключевые точки были посередине граней условных квадратов, областей QRect, в которых будут лежать Ваши электрические элементы. В данном примере условная область QRect будет занимать 4 клетки.
Тогда останется отслеживать пересечения данных условных точек, как показано в уроке про определение коллизий.
Останется только правильно составить алгоритм из пересекающихся элементов для расчёта. Но это уже довольно большой объём работы. В двух словах сходу не придумаешь. Нужно пораскинуть мозгами.