- QKeyEvent 类用来描述一个键盘事件。当键盘按键被按下或者被释放时,键盘事件便会被发送给拥有键盘输人焦点的部件。
- QKeyEvent 的 key() 函数可以获取具体的按键关键字。需要特别说明的是,回车键在这里是 Qt::Key_Return;键盘上的一些修饰键,比如 Ctrl 和 Shift 等,这里需要使用 QKeyEvent 的 modifiers() 函数来获取
首先添加头文件
c
#include <QKeyEvent>
在mainwindow.h中声明两个成员函数
c
private:
Ui::MainWindow *ui;
void keyPressEvent(QKeyEvent *event);
void keyReleaseEvent(QKeyEvent *event);
在mainwindow.c中实现两个成员函数
c
void MainWindow::keyPressEvent(QKeyEvent *keyEvent)
{
//ctrl+2
if(keyEvent->modifiers() == Qt::ControlModifier) {
if(keyEvent->key() == Qt::Key_2){
ui->lineEdit->setText("2222");
}
}
//ctrl+alt+3
if (keyEvent->modifiers() == (Qt::AltModifier | Qt::ControlModifier) && keyEvent->key() == Qt::Key_3) {
ui->lineEdit->setText("3333");
}
}
void MainWindow::keyReleaseEvent(QKeyEvent *keyEvent)
{
//
if(keyEvent->key() == Qt::Key_5){
ui->lineEdit->setText("5555");
}
}