QT事件(鼠标键盘,定时器)

1.鼠标事件

void mousePressEvent(QMouseEvent *ev) override; //鼠标点击

void mouseReleaseEvent(QMouseEvent *ev) override; //鼠标释放

void mouseMoveEvent(QMouseEvent *ev) override; //鼠标移动

ev->button()为获取当前触发的是什么事件

QMouseEvent 事件 ->  Qt::LeftButton: 左键  

                                      Qt::RightButton: 右键 

                                      Qt::MidButton 中间键

注:事件都是由 protected: 声明的作用在内部

2.键盘事件

void keyPressEvent(QKeyEvent *event) override;    //键盘事件

QKeyEvent 事件 -> Qt::Key_A Qt::Key_B  ......

3.定时器事件

void timerEvent(QTimerEvent *event) override;    //定时器执行回调

startTimer(<周期(ms)>);  //定时器启动 返回定时器序号类型为int

killTimer(<startTimer中返回的ID>);

4.事件的接收和忽略

  1. Qt中子类的事件是默认不再传递给父窗口的

    如果要传递则调用该元件类型的事件函数 如: QPushButton::mousePressEvent(ev);

  2. ev->ignore(); //事件传递给上层窗口

5.关闭事件

void closeEvent(QCloseEvent *event) override; //关闭时触发

event->accept();     //处理关闭窗口事件,接收事件,事件不会再向下传递

event->ignore();    //忽略事件,事件继续给父组件传递

6.事件分发

bool event(QEvent *event) override;

返回 true 则停止事件传播

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值