QT学习第四天(事件)

事件的运行机制

a.exec();//相当于回调函数 会一直检测当前窗口下有没有事件产生,有事件产生时,会发生一系列动作  事件产发------事件过滤------事件分发----事件处理  因此调用函数的事情不需要我们操心

鼠标按下去

  1. Qt中的事件
    1. 鼠标事件
    2. 鼠标进入事件  enterEvent
    3. 鼠标离开事件  leaveEvent
    4. 鼠标按下   mousePressEvent ( QMouseEvent  ev)
    5. 鼠标释放   mouseReleaseEvent
    6. 鼠标移动   mouseMoveEvent
    7. ev->x() x坐标  ev->y() y坐标
    8. ev->button() 可以判断所有按键 Qt::LeftButton  Qt::RightButton
    9. ev->buttons()判断组合按键  判断move时候的左右键  结合 & 操作符
    10. 格式化字符串  QString( “ %1  %2 ” ).arg( 111 ).arg(222)
    11. 设置鼠标追踪    setMouseTracking(true);
virtual void mousePressEvent(QMouseEvent *event);子类重写父类虚函数

鼠标双击放大和缩小

定时器

  1. 定时器1
    1. 利用事件 void  timerEvent ( QTimerEvent * ev)
    2. 启动定时器 startTimer( 1000) 毫秒单位
    3. timerEvent 的返回值是定时器的唯一标示  可以和ev->timerId 做比较
  2. 定时器2
    1. 利用定时器类 QTimer
    2. 创建定时器对象 QTimer * timer = new QTimer(this)
    3. 启动定时器  timer->start(毫秒)
    4. 每隔一定毫秒,发送信号  timeout  ,进行监听
    5. 暂停  timer->stop
  1. event事件
    1. 用途:用于事件的分发
    2. 也可以做拦截操作,不建议
    3. bool event( QEvent * e);
    4. 返回值 如果是true 代表用户处理这个事件,不向下分发了
    5. e->type() == 鼠标按下 …

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值