上图里是所有事件的列表
上图说明事件调用的都是虚函数,而且在protectd声明
protected:
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void wheelEvent(QWheelEvent *event);
void keyPressEvent(QKeyEvent *event);
void enterEvent(QEvent *event);
void leaveEvent(QEvent *event);
总之。都在注释里了
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::mousePressEvent(QMouseEvent *event)
{
qDebug()<<"点击"<<event->x()<<event->y();
if(event->button() == Qt::LeftButton)
{
qDebug()<<"左键";
}
}
void Widget::mouseMoveEvent(QMouseEvent *event)
{
//要先左键按住再移动
qDebug()<<"move"<<event->x()<<event->y();
}
void Widget::wheelEvent(QWheelEvent *event)
{
//event->orientation();//这个是判断鼠标滚轮方向的//没在Public Functions 在Member Function Documentation
qDebug()<<"滚动"<<event->x()<<event->y();
}
void Widget::keyPressEvent(QKeyEvent *event)
{
//qDebug()<<event->text();//这个输出字母和数字
//qDebug()<<event->key();//这个输出ASCII码
qDebug()<<event->modifiers();//这个输出shift等特殊按键的枚举
}
void Widget::enterEvent(QEvent *event)
{
qDebug()<<"鼠标进入了界面";
}
void Widget::leaveEvent(QEvent *event)
{
qDebug()<<"鼠标离开了界面";
}