Qt部分鼠标操作函数示例

QCursor  myicon ( QPixmap ( ":/images/vvgb.png" ));  

//注意那个英文的双引号以及qrc文件中的路径前缀。

 

QApplication::setOverrideCursor(myicon );     //将鼠标指针更改为自己设置的图片

setCursor(myicon );   //这个是局部的,不像上面那个函数是全局的

setMouseTracking(true );   //开启鼠标追踪

 

 

QtGui >>>>>> QMouseEvent 

int   event->x ();   //获取当前光标X 的值

int   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()。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值