2012-06-20 1 views
0

내 QGraphicItems의 이동을 제한하는 문제가있다 장면 그리고 그것의 크기를 증가시킵니다. 그것은 다소 효과가있다. 내 문제는 :포인트 QGraphicsItem.scene() (제한 항목 운동)의 0/0

장면을 만들 때 항목에 삽입합니다. x = 0 (scene coord.)에 x = 10 (scene coord.)에 다른 문자가 있습니다. 이 코드를 사용하면 x = 10의 왼쪽에있는 두 번째 항목을 끌 수 없습니다.

QGraphicsItem :: scene()에 대한 호출이 두 항목에 대해 다른 장면을 반환하는 것처럼 보입니다.

답변

0

나는이 글의 해답을 발견했습니다 Why does QGraphicsItem::scenePos() keep returning (0,0)

문제는 항목의 창조에 위치했다. 생성자에 배치하지 않도록주의하십시오. 하나는 장면에 등장한 후에 위치해야합니다 ...

for (int i = 0; i < 3; ++i){ 
    for (int j = 0; j < 3; ++j){ 
     item = new CustomRectItem(0, 0, 20, 20); 
     item->setFlags(QGraphicsItem::ItemIsMovable | 
         QGraphicsItem::ItemSendsScenePositionChanges); 
     scene->addItem(item); 
     item->setPos(i*30, j*30); 
    } 
}