亥, 我正在尝试创建一个国际象棋棋盘。在这里,我想做一个操作,就像点击和拖动硬币一样,那时应该复制图片并放在那个旧位置。我不知道我必须做哪个功能。当我按下鼠标时,鼠标副本将高于原始版本(图层)。所以有人请帮帮我
答案 0 :(得分:0)
最简单的方法是在同一位置为每个硬币/件放置2个相同的QGraphicsItems。顶部的一个将被拖动和移动,而底部的一个将保留您想要的视觉提示。
一旦将最上面的一个放到新位置,也将底部移动到那里。
答案 1 :(得分:0)
当我按下鼠标时,鼠标副本将高于原始版本(图层)。
当你到目前为止,只需添加对myItemCopy-> setZValue(-1)的调用,就会将副本放在原始项目的“后面”。
另一种方法,可能是“更干净”,将使用QDrag并告诉Qt如何在拖动操作期间绘制项目。请参阅Qt的“拖放机器人”示例以供参考:http://doc.qt.io/qt-5/qtwidgets-graphicsview-dragdroprobot-example.html
快乐的编码! 罗宾