1、鼠标响应事件
鼠标响应事件有按下、移动和弹起三种事件,下面只展示按下事件,其他两种事件与其类似
(1)在头文件添加函数声明
protected:
void mousePressEvent(QMouseEvent *event);
(2)在源文件添加头文件并进行函数实现
#include <QMouseEvent>
void Widget::mousePressEvent(QMouseEvent *event)
{
//在单行输入框中显示鼠标按下的坐标位置
ui->lineEdit->setText(tr("%1,%2").arg(event->x()).arg(event->y()));
}
2、键盘响应事件
(1)在头文件添加函数声明
protected:
void keyPressEvent(QKeyEvent *event);
(2)在源文件添加头文件并进行函数实现
#include <QKeyEvent>
void Widget::keyPressEvent(QKeyEvent *event)
{
//获取按钮的x和y坐标
int x = ui->pushButton_2->x();
int y = ui->pushButton_2->y();
//使用w、s、a、d四个键控制按钮的上下左右移动
switch (event->key())
{
case Qt::Key_W:
ui->pushButton_2->move(x,y-10);
break;
case Qt::Key_S:
ui->pushButton_2->move(x,y+10);
break;
case Qt::Key_A: