QEvent类:
需要包含QKeyEvent,重写虚函数
按键事件
void keyPressEvent(QKeyEvent *k);
modifiers()获取热键
key()获取普通按键
获取组合键
void MainWindow::keyPressEvent(QKeyEvent *k)
{
if(k->modifiers()==Qt::ControlModifier&&k->key()==Qt::Key_S)
saveActionslot();
}
鼠标事件:
void mousePressEvent(QMouseEvent *m);
类QPoint QPoint pt=m->pos(); 鼠标事件中pos函数,返回QPoint类型,可被debug输出
m->button();返回鼠标操作代码,详情查看说明
其余函数与上个文章类似
//头文件额外包含
#include <QKeyEvent>
#include <QMouseEvent>
//公共成员声明虚函数
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void keyPressEvent(QKeyEvent *k);
void mousePressEvent(QMouseEvent *m);
//************************************
void MainWindow::keyPressEvent(QKeyEvent *k)
{
if(k->modifiers()==Qt::ControlModifier&&k->key()==Qt::Key_S)
{
saveActionslot();
ui->textEdit->setText("ok");
}
}
void MainWindow::mousePressEvent(QMouseEvent *m)
{
//返回位置
ui->textEdit->setText("ok");
QPoint pt=m->pos();
qDebug()<<pt;
if(m->button()==Qt::LeftButton)
{
qDebug()<<"左键被按下";
}
else if(m->button()==Qt::RightButton)
{
qDebug()<<"右键被按下";
}
}