2010-06-20 5 views
1

Hai, Я пытаюсь создать шахматную доску. Здесь я хочу выполнить операцию, например, когда когда-либо кликается и перетаскивается монета, в это время эта картинка должна быть скопирована и помещена в эту старую позицию. Я не знаю, в какой функции я должен это делать. Когда я нажимал его на мышь, тогда копирование происходит над оригиналом (слой мудрый). Итак, кто-нибудь, пожалуйста, помогите мнеQt - В QGraphicsScene как поставить картинку динамически

ответ

0

Когда я надавил на мышь, то копирование происходит над оригиналом (слой мудрый).

Когда вы зашли так далеко, просто добавив вызов myItemCopy-> setZValue (-1), поместите копию «позади» исходного элемента.

Другой подход и, возможно, «чище» - использовать QDrag и рассказать Qt о том, как рисовать ваш элемент во время операции Drag. См. Пример использования «Drag and Drop Robot» в Qt: http://doc.qt.io/qt-5/qtwidgets-graphicsview-dragdroprobot-example.html

Счастливое кодирование! Robin

0

Простейший способ сделать это - поставить 2 одинаковых QGraphicsItems для каждой монеты/куска в одном месте. Верхняя часть будет перетаскиваться и перемещаться, а нижняя - для визуальной подсказки, которую вы хотите.

Как только верхняя часть опускается в новое место, переместите нижнюю часть там.

+0

Чтобы сделать выше, какие функции я должен переопределить в QGraphicsScene – prabhakaran

+0

Нет функции для переопределения. Просто поместите 2 одинаковых предмета в сцену в том же месте. –

Смежные вопросы