|
.h文件#ifndef MAINWINDOW_H#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {class MainWindow;}
class MainWindow : public QMainWindow{ Q_OBJECT
public: explicit MainWindow(QWidget *parent = 0); ~MainWindow();
private: Ui::MainWindow *ui; QString KeyName=(tr(""));protected: void mousePressEvent(QMouseEvent *event); void keyPressEvent(QKeyEvent *);
};
#endif // MAINWINDOW_H
cpp文件#include "mainwindow.h"#include "ui_mainwindow.h"#include <QMouseEvent>
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); setWindowTitle(tr("键鼠练习实例"));}
MainWindow::~MainWindow(){ delete ui;}
void MainWindow::mousePressEvent(QMouseEvent *e){
if(e->button()&Qt::RightButton )//判断右击 {// ui->pushButton->setText(tr("右击")); KeyName=tr("右击"); ui->pushButton->setText(tr("(%1,%2,%3)").arg(e->x()).arg(e->y()).arg(KeyName)); } else if(e->button()&Qt::LeftButton)//判断左击 { KeyName=tr("左击"); ui->pushButton->setText(tr("(%1,%2,%3)").arg(e->x()).arg(e->y()).arg(KeyName)); }}
void MainWindow::keyPressEvent(QKeyEvent *e){ int x = ui->pushButton->x(); int y = ui->pushButton->y(); switch (e->key()) { case Qt::Key_W :y=y-10; KeyName=tr("W"); break; case Qt::Key_S :y=y+10; KeyName=tr("S"); break; case Qt::Key_A :x=x-10; KeyName=tr("A"); break; case Qt::Key_D :x=x+10; KeyName=tr("D"); break; } ui->pushButton->move(x, y); ui->pushButton->setText(tr("%1, %2, %3").arg(x).arg(y).arg(KeyName));}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|