天天看點

QMainWindow中的QMouseMove事件

        今天為了實作”拖動圖像邊緣“修改圖像大小功能,需要事先擷取滑鼠是否在圖像邊緣,然後給出拖動提示。

        測試發現,MouseMove事件隻有在滑鼠按鍵被按下時才響應,查了下幫助文檔發現這是預設機制,需要setMouseTracking(true)時才會在非按下狀态也響應。

        試了下this->setMouseTracking(true),發現還是沒有響應到,再試了下this->centerWidget->setMouseTracking(true),也沒有響應。而兩者同時使用就能響應。

        現在還不太了解QT事件機制的原理,猜測是否可能是centerWidget會優先響應滑鼠移動消息?是以,若centerWidget的Mousetracking為false,MainWindow也響應不到。有時間看看其機制。

繼續閱讀