在我的QGraphicsScene中,我添加了几个指针。请参阅初始线程Identify which QPixmapItem has been selected
这些指针分配了QPixmaps。当我选择这些指针时,我可以获得与它们相关的所有信息,除非能够在未选择指针时更改分配给它的像素图。
基本上,我可以在选择pixmap时更改pixmap,因为该状态很容易从中拉出,但我不确定如何在不再选择其他项目时将其重置回原始图像。
答案 0 :(得分:0)
所以简单的解决方案就是使用QgraphicsScene SIGNAL focusItemChanged(),但无论出于何种原因,它都不会发出。
但是,我能够添加一个新列表来抓取场景中的所有项目,将它们的值设置为"关闭状态"图像,然后运行并分配"开启状态"只对选定的图像。
void MainWindow::whatIsSelected()
{
QList<QGraphicsItem *> allItems_list = scene->items();
QList<QGraphicsItem *> selItem_list = scene->selectedItems();
foreach(QGraphicsItem* item, allItems_list)
{
//assign off state images
}
foreach(QGraphicsItem* item, selItem_list)
{
//assign on state image
}
}