ユーザーの他の活動の邪魔にならない半透明の情報ウィンドウを作成したいと思います。ウィンドウをクリックすると、ウィンドウがないかのように通過するはずです。
そのような動作を実装することをどのように推奨しますか?それを行う簡単な方法はありますか、それとも不器用な回避策に従う必要がありますか?ウィンドウを非表示にし、クリックを再実行してから、ウィンドウを再び表示することを考えています。しかし、これでもドラッグアンドドロップジェスチャが台無しになります。
ユーザーの他の活動の邪魔にならない半透明の情報ウィンドウを作成したいと思います。ウィンドウをクリックすると、ウィンドウがないかのように通過するはずです。
そのような動作を実装することをどのように推奨しますか?それを行う簡単な方法はありますか、それとも不器用な回避策に従う必要がありますか?ウィンドウを非表示にし、クリックを再実行してから、ウィンドウを再び表示することを考えています。しかし、これでもドラッグアンドドロップジェスチャが台無しになります。
Qt::WidgetAttributeの列挙値を見てくださいQt::WA_TransparentForMouseEvents
::
有効にすると、この属性はウィジェットとその子へのマウスイベントの配信を無効にします。マウスイベントは、ウィジェットとその子がウィジェット階層に存在しないかのように他のウィジェットに配信されます。マウスクリックやその他のイベントは、効果的にそれらを「通過」します。この属性はデフォルトで無効になっています。
「マウスイベントの透明性」(正確な用語はわかりませんでした)についてもう少し調べてみたところ、これが見つかりました。
私はあなたの問題に対する一般的で簡単なアプローチはないと思います。おそらく、ネイティブAPIを掘り下げる必要があります。イベントがアプリケーションに到達すると、それ自体は他のアプリケーションに転送されません。
皆さんはどう思いますか?各OSのネイティブAPIを使用する運命にありますか?