Qt - в QGraphicsScene как динамически поместить картинку - PullRequest
1 голос
/ 20 июня 2010

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

Ответы [ 2 ]

0 голосов
/ 21 июня 2010

Когда я сделал это по нажатию мыши, копия оказывается выше оригинала (в слое).

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

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

Удачного кодирования! Robin

0 голосов
/ 20 июня 2010

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

После того, как верхний упадет в новое место, переместите туда и нижний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...