かなりの数の svg 画像を含むグラフィック ビュー (C++ と Qt を使用) に取り組んでいます。それらのクリックをインターセプトしますが、マウスが svg アイテムの透明な部分の上にあるときにイベントを受信したくない (または無視できるようにしたい)。
出来ますか ?
svg ファイルは、そのような使用のために特別に設計されるべきですか?
私が(まだ)聞いたことのない隠されたQtオプションはありますか?
かなりの数の svg 画像を含むグラフィック ビュー (C++ と Qt を使用) に取り組んでいます。それらのクリックをインターセプトしますが、マウスが svg アイテムの透明な部分の上にあるときにイベントを受信したくない (または無視できるようにしたい)。
出来ますか ?
svg ファイルは、そのような使用のために特別に設計されるべきですか?
私が(まだ)聞いたことのない隠されたQtオプションはありますか?
SVG 要素に適用できる CSS プロパティがありpointer-events
ますが、これのデフォルトは次のvisiblePainted
とおりです。
'visibility' プロパティが visible に設定されていて、ポインターが "ペイントされた" 領域上にある場合、指定された要素はポインター イベントのターゲット要素になることができます。ポインターが要素の内部 (つまり、塗りつぶし) 上にあり、'fill' プロパティに none 以外の実際の値がある場合、またはポインターが要素の周囲 (つまり、ストローク) 上にあり、 'stroke' プロパティが none 以外の値に設定されています。
これは、Qt グラフィックス ビューがサポートしていないことを示しています。
私の質問に対する難しい方法を見つける以外に選択肢はありませんでしたが、ここで私がしたことは次のとおりです。
したがって、悲しい答え: Qt はそのような動作を許可しません。