QGraphicsGrid реализует функциональность Drag and Drop / Snap-to

Это дополнительный вопрос о создании редактируемой блок-схемы в Qt/C++.

Я хочу добавить QGraphicsItem к QGraphicsGridLayout таким образом, чтобы элемент занимал свое место в сетке, а затем автоматически центрировался в своей «ячейке». Я использую QGraphicsView и QGraphicsScene, и перетаскивание в любое место работает, но это выглядит беспорядочно и может оказаться проблематичным в будущем развитии.

Что мне нужно сделать, чтобы элемент привязывался к сетке и центрировался в своей ячейке?

PS: я просмотрел http://qt-project.org/doc/qt-4.8/graphicsview-basicgraphicslayouts.html в качестве примера, но это не помогло мне решить мою проблему.

Кроме того, было бы идеально, если бы этот макет и его данные можно было сохранить в текстовый файл и т. д. Я предполагаю, что 2D-массив будет лучшим способом сделать это. Должен ли я каким-то образом сделать QGraphicsGridLayout на основе этого массива или есть лучшее решение?


person mhag    schedule 14.08.2014    source источник
comment
Я переписал некоторые отрывки, чтобы их было легче читать. Чтобы увеличить шансы на получение ответа, вы должны добавить небольшой пример вашей текущей реализации и, возможно, скриншот того, как результат выглядит сейчас, и набросок того, как вы хотите, чтобы он выглядел вместо этого.   -  person Tim Meyer    schedule 15.08.2014
comment
Что касается сохранения в файл, я рекомендую создать отдельный вопрос, сообщения в Stackoverflow должны содержать только один вопрос.   -  person Tim Meyer    schedule 15.08.2014