#include <QMouseEvent> // 鼠標事件
#include <QKeyEvent>//鍵盤事件git
void mousePressEvent(QMouseEvent *event);//彈起事件ui
void keyPressEvent(QKeyEvent *event);//按鍵事件事件this
將頭文件添加到指定*.h 而後重定義 指定方法 以後再*.cpp中實現spa
以下 :code
mainwindow.h事件
#ifndef MAINWINDOW_H
#define MAINWINDOW_Hci
#include <QMainWindow>
#include <QMouseEvent>
#include <QKeyEvent>get
namespace Ui {
class MainWindow;
}qt
class MainWindow : public QMainWindow
{
Q_OBJECTit
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void mousePressEvent(QMouseEvent *event);
void keyPressEvent(QKeyEvent *event);
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
};
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::mousePressEvent(QMouseEvent *event){
ui->pushButton->setText(tr("%1 ,%2").arg(event->x()).arg(event->y()));
}
void MainWindow::keyPressEvent(QKeyEvent *event){
int x=ui->pushButton->x();
int y=ui->pushButton->y();
switch (event->key()) {
case Qt::Key_W:
ui->pushButton_2->setText(tr("W"));
ui->pushButton->move(x,y-10);
break;
case Qt::Key_S:
ui->pushButton_2->setText(tr("S"));
ui->pushButton->move(x,y+10);
break;
case Qt::Key_A:
ui->pushButton_2->setText(tr("A"));
ui->pushButton->move(x-10,y);
break;
case Qt::Key_D:
ui->pushButton_2->setText(tr("W"));
ui->pushButton->move(x+10,y);
break;
default:
break;
}
}
demo14路徑:https://gitee.com/codemaner/qt_learning_record