鼠标事件,包括鼠标点击,鼠标移动,鼠标释放,鼠标双击等等,都是通过重载QWidget里面的protected虚函数,包括:
void mousePressEvent(QMouseEvent *);
void mouseReleaseEvent(QMouseEvent *);
void mouseDoubleClickedEvent(QMouseEvent *);
void mouseMoveEvent(QMouseEvent *);
QWidget是Qt里面最底层的类,例如,QMainWindow就是继承了QWidget所得的子类。所以使用鼠标事件就是很简单的事情了。
具体敲一个例子以防日后忘记
在QMainWindow添加两个函数
void Class::mousePressEvent(QMouseEvent *e)
{
qDebug(“<Press>(%d,%d)”,e->x(),e->y());
}
void Class::mousePressEvent(QMouseEvent *e)
{
qDebug(“<Press>(%d,%d)”,e->x(),e->y());
}
大概就是这样子,获取了坐标的话,就可以使用起来了。