删除图元,首先要选中它们。首先要设置它们为可选状态。下面是例子。
void CenterWidget::cmd_test_slot(void)
{
//测试:选择图元
//获得所有元素的指针列表
QList<QGraphicsItem *> item_list_p = view->scene->items();
//选择所有图元
for(int i=0; i<item_list_p.size(); i++){
item_list_p[i]->setFlag(QGraphicsItem::ItemIsSelectable);
item_list_p[i]->setSelected(true); //设置为选中状态
}
//删除所有选中的图元
for(int i=0; i<item_list_p.size(); i++){
if(item_list_p[i]->isSelected()){
view->scene->removeItem(item_list_p[i]); //移除
delete item_list_p[i]; //删除
}
}
}