吉吉于

Qt学习笔记(3):鼠标键盘事件

 

效果图:

 MainWindow.h

01 #ifndef MAINWINDOW_H
02 #define MAINWINDOW_H
03
04 #include </span>
05 #include </span>
06 namespace Ui {
07     class MainWindow;
08 }
09
10 class MainWindow : public QMainWindow
11 {
12     Q_OBJECT
13
14 public:
15     explicit MainWindow(QWidget *parent = );
16     ~MainWindow();
17     void mouseMoveEvent(QMouseEvent *);
18     void keyPressEvent(QKeyEvent *);
19
20 private:
21     Ui::MainWindow *ui;
22 };
23
24 #endif // MAINWINDOW_H </div>   MainWindow.cpp
01 #include “mainwindow.h”
02 #include “ui_mainwindow.h”
03
04 MainWindow::MainWindow(QWidget *parent) :
05     QMainWindow(parent),
06     ui(new Ui::MainWindow)
07 {
08     ui->setupUi(this);
09     ui->label->setText(tr(“Click A~~”));
10     ui->pushButton->setText(tr(“Click the mouse and move it ~”));
11 }
12
13 MainWindow::~MainWindow()
14 {
15     delete ui;
16 }
17 void MainWindow::mouseMoveEvent(QMouseEvent *m)
18 {
19     //这里的函数名和参数不能更改
20     QCursor Lazy_pic(QPixmap(“S:/event/jay.jpg”));
21     //为鼠标指针选择图片,注意这里如果用绝对路径,要用/而不能用\
22     //也可以将图片放到工程文件夹的debug文件夹下,这样用相对路径\就可以了。
23     QApplication::setOverrideCursor(Lazy_pic);
24     //将鼠标指针更改为自己设置的图片
25     int x=m->pos().x();
26     int y=m->pos().y();
27     // 获取鼠标现在的位置
28     ui->pushButton->setText(tr(“鼠标现在的坐标是(%1,%2),爽吧?”).arg(x).arg(y));
29     //将鼠标的位置坐标显示在按钮上
30     ui->pushButton->move(m->pos());
31     // 让按钮跟随鼠标移动
32 }
33 void MainWindow::keyPressEvent(QKeyEvent *k)
34 {
35     if(k->key()==Qt::Key_A)
36     //判断是否是A键按下
37     {
38         ui->label->setPixmap(QPixmap(“S:/event/jay.jpg”));
39     }
40 }
下载源码 转载请注明:[于哲的博客][1] » [Qt学习笔记(3):鼠标键盘事件][2] [1]: http://lazynight.me [2]: http://lazynight.me/583.html