qt5 鼠标无动作时进入屏保

1 篇文章 0 订阅
1 篇文章 0 订阅

1. 包含头文件

#include <QTimer>	   //时钟类	
#include <QtDebug>	   //打印调试
#include <QMouseEvent> //鼠标事件

2. 实现过程

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    this->setMouseTracking(true);      //设置鼠标跟踪
    QTimer *timer = new QTimer(this);  //new一个时钟对象
    connect(timer,SIGNAL(timeout()),this,SLOT(timerUpdate()));//连接信号
    //将始终触发连接到自定义的槽函数
    timer->start(10000);//每十秒触发一次
}

void MainWindow::mouseMoveEvent(QMouseEvent *event) //重构的鼠标移动事件函数
{
    qDebug()<<"mouse move";
    setCursor(Qt::ArrowCursor); //说明见下文
}
 void MainWindow::timerUpdate()  //鼠标十秒没动作后执行
{
    qDebug()<<"enter protect";
    this->setCursor(Qt::BlankCursor);//说明见下文
}
//以上两个函数记得在.h中定义
/******/
public slots:
    void timerUpdate();
private:
    Ui::MainWindow *ui;
    void mouseMoveEvent(QMouseEvent *event);//重写mouseMoveEvent函数
/******/

执行效果

因笔者测试环境是在arm平台上,所以经过交叉编译后,烧写到arm板子上执行后效果如下:

在这里插入图片描述

备注

 setCursor(Qt::ArrowCursor); //这边是设置鼠标的形状,可参考下表

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值