これは、QGraphicsItemのmouseReleaseEventまたはQContextMenuから起動するすべてのQDialog Iポップで発生しました。私は、問題が何であるかが表示されない - コードは非常に簡単です。..mouseReleaseEvent RightClickから起動したQDialogを閉じると、空のコンテキストメニューが表示されます
...
void MyQGfxItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
if(event->button() == Qt::RightButton)
{
MyDialog someDlg;
if(someDlg.exec())
{
}
}
}
...
とすぐにダイアログがイベントがトリガされた場所の空のコンテキストメニューが表示され、OKを介して、またはキャンセルのいずれか、閉じているよう:
を空白の項目は私のQDockWidgetが非表示または表示されている場合..何が起こっているすべてのアイデアを制御するようですか?数多くのGoogleの検索が私を残しました。
編集 - マウスの右ボタンを使用している場合にのみ発生するように見える。..
イベントを受け入れましたか?たとえば、mouseReleaseEventでは、event-> accept()を呼び出します。 – Anthony
生のマウスイベントを使用するのではなく、カスタムコンテキストメニューを使用していないのはなぜですか? – alexisdm
問題は、コンテキストメニューが表示されないようにすることです。右クリックは何らかの理由でQDockWidgetを制御する "空の"コンテキストメニューを表示しています – giraffee