Qt - 在QGraphicsScene中如何动态放置图片

时间:2010-06-20 13:00:32

标签: qt

亥,  我正在尝试创建一个国际象棋棋盘。在这里,我想做一个操作,就像点击和拖动硬币一样,那时应该复制图片并放在那个旧位置。我不知道我必须做哪个功能。当我按下鼠标时,鼠标副本将高于原始版本(图层)。所以有人请帮帮我

2 个答案:

答案 0 :(得分:0)

最简单的方法是在同一位置为每个硬币/件放置2个相同的QGraphicsItems。顶部的一个将被拖动和移动,而底部的一个将保留您想要的视觉提示。

一旦将最上面的一个放到新位置,也将底部移动到那里。

答案 1 :(得分:0)

  

当我按下鼠标时,鼠标副本将高于原始版本(图层)。

当你到目前为止,只需添加对myItemCopy-> setZValue(-1)的调用,就会将副本放在原始项目的“后面”。

另一种方法,可能是“更干净”,将使用QDrag并告诉Qt如何在拖动操作期间绘制项目。请参阅Qt的“拖放机器人”示例以供参考:http://doc.qt.io/qt-5/qtwidgets-graphicsview-dragdroprobot-example.html

快乐的编码! 罗宾