键盘按键调整label移动
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QKeyEvent>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);}Widget::~Widget()
{delete ui;
}void Widget::keyPressEvent(QKeyEvent *event)
{switch (event->key()) {case 'W':case 'w':{if(ui->label->y()<=-ui->label->height()){ui->label->move(ui->label->x(),this->height());}ui->label->move(ui->label->x(),ui->label->y()-5);break;}case 'A':case 'a':{if(ui->label->x()<=-ui->label->width()){ui->label->move(this->width(),ui->label->y());}ui->label->move(ui->label->x()-5,ui->label->y());break;}case 'S':case 's':{if(ui->label->y()>=this->height()){ui->label->move(ui->label->x(),-ui->label->height());}ui->label->move(ui->label->x(),ui->label->y()+5);break;}case 'D':case 'd':{if(ui->label->x()>=this->width()){ui->label->move(-ui->label->width(),ui->label->y());}ui->label->move(ui->label->x()+5,ui->label->y());break;}}
}void Widget::mouseMoveEvent(QMouseEvent *event)
{qDebug()<<QPoint(event->x(),event->y());
}void Widget::mousePressEvent(QMouseEvent *event)
{if(event->button()==Qt::LeftButton){qDebug()<<"鼠标左键按下";}
}
鼠标拖动窗口
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->setWindowFlag(Qt::FramelessWindowHint);
}Widget::~Widget()
{delete ui;
}void Widget::mousePressEvent(QMouseEvent *event)
{temp=event->globalPos()-this->pos();
}void Widget::mouseMoveEvent(QMouseEvent *event)
{if(event->buttons()==Qt::LeftButton){this->move(event->globalPos()-temp);}
}