我對Qt比較陌生。在QMainWindow中選擇性跟蹤鼠標
我正在寫一個應用程序,我正在生成一個僞隨機數字和鍵,我想用QMainWindow
中捕獲的隨機鼠標移動種子發生器。此外,我希望能夠在用戶按下QButton
時關閉此功能。
從我的理解我應該能夠使用connect()
和disconnect()
到QMainWindow
當用戶移動鼠標時發出的信號。這是最好的方法嗎?
我的問題是我不知道我應該連接到什麼信號。我搜索了Qt文檔,但找不到在鼠標移過QWidget
時產生的信號。
我對Qt比較陌生。在QMainWindow中選擇性跟蹤鼠標
我正在寫一個應用程序,我正在生成一個僞隨機數字和鍵,我想用QMainWindow
中捕獲的隨機鼠標移動種子發生器。此外,我希望能夠在用戶按下QButton
時關閉此功能。
從我的理解我應該能夠使用connect()
和disconnect()
到QMainWindow
當用戶移動鼠標時發出的信號。這是最好的方法嗎?
我的問題是我不知道我應該連接到什麼信號。我搜索了Qt文檔,但找不到在鼠標移過QWidget
時產生的信號。
您必須在您的QMainWindow
中覆蓋void QWidget::mouseMoveEvent (QMouseEvent * event)
才能捕獲鼠標移動事件。請參閱http://qt-project.org/doc/qt-4.8/qwidget.html#mouseMoveEvent
您可能想要在覆蓋中執行event->ignore()
以允許傳播事件。
您還必須啓用鼠標跟蹤void setMouseTracking (bool enable)
以在沒有按鈕被按下時接收鼠標移動事件。見http://qt-project.org/doc/qt-4.8/qwidget.html#mouseTracking-prop