QT中键盘模拟鼠标的新方法

这段时间使用QT开发项目,遇到了一些问题,经过几天奋战,终于搞定,故写下解决思路。1、首先是关于透明窗口在视频前的闪烁问题 刚开始,我是使用布局管理,在一Dialog中添加四个Widget,但是将Dialog设为透明后,会随着视频帧的不断刷新而重绘。于是,尝试使Widge
摘要由CSDN通过智能技术生成
 

这段时间使用QT开发项目,遇到了一些问题,经过几天奋战,终于搞定,故写下解决思路。
1、首先是关于透明窗口在视频前的闪烁问题
 刚开始,我是使用布局管理,在一Dialog中添加四个Widget,但是将Dialog设为透明后,会随着视频帧的不断刷新而重绘。于是,尝试使Widget构造时没有父对象,单独视为一个窗口,在设为透明,成功解决闪烁问题。
2、关于键盘模拟鼠标问题
 在网上找了些方法,但主要是使用eventFilter,在其中添加如下代码:
   case Qt::Key_W:
    pos.setY(pos.y()-10);
    QCursor::setPos(pos);
    break;
   case Qt::Key_L:

    QMouseEvent *mEvnPress;
    QMouseEvent *mEvnRelease;
    mEvnPress = new QMouseEvent(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
    mEvnRelease = new QMouseEvent(QEvent::MouseButtonRelease, pos, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
    QCoreApplication::postEvent(obj,mEvnPress);
    QCoreApplication::postEvent(obj,mEvnRelease);
    break;
不过,对于我这不是很好的解决办法,对每个Dialog都得添加以上代码,还得根据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值