カスタム QGraphicsWidget を使用しています。それを右クリックすると、メニューが表示されます。私はこのように始めています:
void myQGraphicsWidget::mousePressEvent(QGraphicsSceneMouseEvent *event){
if(event->button() & Qt::RightButton){
const QString test = "test";
QMenu menu;
menu.setTitle(test);
menu.addAction(test);
menu.exec(mapToScene(event->pos()).toPoint());
//menu.exec(mapToScene(QPointF(0,0)).toPoint());
}
}
しかし、メニューはメインアプリケーションウィンドウの外側に表示され、他のモニターの右下に向かって表示されます。コメントアウトされたバージョンを使用すると、メイン ウィンドウの上に表示されます。ポイントを手動で調整して窓の内側でマッサージしようとしましたが、窓の上に置かれるか、下からぶら下がってしまい、中に入ることはありません。