zoukankan      html  css  js  c++  java
  • QT中的鼠标移动事件

    关注

    QMouseEvent类
    其中还有press事件、release事件、move事件.......

    为了练习move事件,做了一个按钮跟随鼠标小程序
    首先我们可以查阅文档:
    mouseMoveEvent事件,
    [virtual protected] void QWindow::mouseMoveEvent(QMouseEvent *ev);
    这是一个虚函数,可以用来重载的
    我们就在自己的函数中

     重写虚函数:

     pbt.move(event->x(),event->y());  //设置按钮跟随坐标

    在按钮创建需要在类中进行.建立成员函数的方式创建

     设置PushButton

        //直接打开鼠标事件
        setMouseTracking(true);
    -------------------------------------------------------------------------------------------------------
    #include "widget.h"
    #include "ui_widget.h"
    
    
    #include <QMouseEvent>
    #include <QDebug>
    
    
    
    
    int i = 0;
    int j  =0 ;
    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
    
    
        resize(800,600);
    
    
        //直接打开鼠标事件
        setMouseTracking(true);
    
    
    
    
        pbt.setParent(this);
        pbt.setText("欢迎");
    
    
        pbt.move(350,300);
        pbt.resize(80,50);
    
    
    }
    
    
    void Widget::mouseMoveEvent(QMouseEvent *event)
    {
        QString str = QString("鼠标移动了  x = %1 y =%2 ").arg(event->x()).arg(event->y());
        qDebug() <<str;
    
    
            //按钮移动
        pbt.move(event->x(),event->y());
    }
    
    
    Widget::~Widget()
    {
        delete ui;
    }

    ----------------

    还有

    event->button() ==Qt::LeftButton;   //左键;判断按键
    event->buttons()   &Qt::LeftButton;   //判断联合按钮


    ----------------------------------------------------------------------------
    重写void mousePressEvent
    重写void mouseReleaseEvent
    这种属于拦截事件操作,为了不影响其他按钮写完要return
    return QPushButton::mousePressEvent(e);







  • 相关阅读:
    python flask 环境安装
    pymongo的说明,挺详细的
    Mysql加锁过程详解
    MySQL Group Replication 介绍
    Linux 下方便的ssh非交互工具sshpass的安装与使用
    我要拿Offer之AQS条件队列及中断机制
    ThreadLocal解析
    AQS源码分析总结
    动手实现一个同步器(AQS)
    java线程池解析
  • 原文地址:https://www.cnblogs.com/qq376142178/p/15363999.html
Copyright © 2011-2022 走看看