QWidget
何もせず、 を提供するだけで、HWND
他の の子として追加できる「ダム」が必要QWidget
です。具体的には、マウスカーソルを管理しようとすべきではありません(これは、単にインスタンス化することに関する私の問題ですQWidget
)。(動機: インプレースでアクティブ化された ActiveX コントロールがあり、マウス カーソルを時々変更しようとしますが、QWidget がデフォルトに戻すため、ちらつきます)
質問する
142 次
1 に答える
1
カーソルの変更を行うコードは QWidget 内にないため、QWidget を変更しても問題は解決しません。internal 内からそれを行うのは QApplication ですQApplication::dispatchEnterLeave(...)
。最終的には、それがqt_win_set_cursor
仕事をします。
Qt ソースを変更せずにこの動作を変更する方法がすぐにはわかりません。
報告は Qt のバグとして行うことをお勧めします。Qt は、エイリアン ウィジェットを離れたときにネイティブ カーソルが変更されたかどうかを確認する必要があります。変更された場合は、それを保持する必要があります。問題を実際に修正するためのパッチを提供すると、バグが迅速に修正される可能性が高くなります。
回避策:ちらつきを防ぐには、 を使用してアプリケーション全体のカーソル オーバーライドを設定しますQApplication::setCursorOverride()
。これにより、ちらつきは修正されますが、コントロールがカーソルを変更できないという問題は修正されません。
于 2012-06-25T13:01:00.887 に答える