QCursor myicon ( QPixmap ( ":/images/vvgb.png" ));
//注意那个英文的双引号以及qrc文件中的路径前缀。
QApplication::setOverrideCursor(myicon ); //将鼠标指针更改为自己设置的图片
setCursor(myicon ); //这个是局部的,不像上面那个函数是全局的
setMouseTracking(true ); //开启鼠标追踪
QtGui >>>>>> QMouseEvent
int x = event->x (); //获取当前光标X 的值
int y = event->y (); //获取当前光标X 的值
QString str = "(" + QString :: number(x )+ "," + QString :: number(y )+ ")" ; //将坐标值转成字符串
button->setText ( str); //显示在一个按钮上,或其它什么 widget 上
lastPos = event->pos(); //QPoint lastPos; 定义一个存储当前光标所在位置的坐标的变量
myLabel->move ( lastPos ); //让按钮跟随鼠标移动,QMouseEvent *event 鼠标事件
if(event -> button()==Qt :: LeftButton) //按下和 或释放时 的判断方法
if(event -> buttons ()& Qt :: LeftButton) // 移动时判断鼠标状态的方法
Home>>>>Namespace>>>> Qt Namespac e
enum Qt::MouseButtons 鼠标按键标记
Qt::NoButton Qt::LeftButton Qt::RightButton Qt::MidButton ......
enum Qt::CursorShape 标准内置光标形状
Qt::ArrowCursor Qt::WaitCursor Qt::SizeAllCursor ......
QtGui >>>>>> QWidget
void mouseMoveEvent(QMouseEvent * event);
void mousePressEvent(QMouseEvent * event);
void mouseReleaseEvent(QMouseEvent * event);
void mouseDoubleClickEvent(QMouseEvent * event);
void wheelEvent ( QWheelEvent * event);
void MyGLWidget :: wheelEvent(QWheelEvent * event)
{
int numDegrees = event -> delta() / 8 ; //delta()一般返回 +-120
int numSteps = numDegrees / 15 ;
static int iwheel=0 ;
iwheel += numSteps; //演示鼠标滚轮上下滚动时的变化
button2 -> setText(QString :: number(iwheel ));
}
Qt提供了两种用于控制鼠标光标形状的机制:
1.当鼠标悬停在某个特殊的窗口部件上时,QWidget::setCursor()可以设置它所使用的光标形状。如果没有为窗口部件专门设置光标,那么就会使用它的父窗口部件中的光标。顶层窗口部件的默认光标是箭头光标。
2. 对于整个应用程序中所使用的光标形状,可以通过QApplication::setOverrideCursor()进行设置,它会把不同窗口部件中的光标形状全部覆盖掉,直到调用restoreOverrideCursor()。