2011-08-30 239 views

回答

1

你可以做的是

QWidget的:: setMouseTracking(真);

應該調用QWidget的:: mouseMoveEvent(QMouseEvent *事件) 只要你的鼠標移動

那麼,只要你想,你可以處理該事件。

如果您正在尋找一般拖拽事件則Qt的已經處理了鼠標事件 QWidget的:: dragEnterEvent(QDragEnterEvent *事件) http://doc.qt.nokia.com/latest/qwidget.html#dragEnterEvent

+0

我知道qt有它自己的mousemove事件。我的應用程序已經包含mousemove和mousedrag處理程序。我的問題是,我有一個軌跡球鼠標,預計會像正常系統鼠標中的拖/滾動一樣工作。我想要的是圍繞軌跡球鼠標事件的包裝,因此它可以用作鼠標拖動。我正在使用Windows XP。 – Kashish

+0

@Kashish:當你用軌跡球鼠標做某事時,Qt是否會調用mouseMoveEvent? – blueskin

+0

嗨Blueskin,謝謝你的迴應和興趣。軌跡球鼠標是連接到COM1端口的串行設備,沒有輪子(用於拖動),並且僅以dX和dY給出輸入。我想發出一個QWheel事件,它會將我的dx轉換爲event-> delta()。有沒有辦法將dX(從靜態位置一次的球移動量)轉換爲QWheelEvent。 – Kashish