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数据结构与算法(几种排序)
    jquery元素节点操作
    Jquery事件委托
    Jquery事件冒泡
    jquery事件
    尺寸相关、滚动事件
    jquery属性操作
    jquery选择器
    JavaScript面向对象
    jQuery powerFloat万能浮动层下拉层插件
  • 原文地址:https://www.cnblogs.com/qq376142178/p/15363999.html
Copyright © 2011-2022 走看看