【笔记1-2】Qt系列:QkeyEvent 键盘事件 设定快捷键

参考文献

  • 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");
        }
}
复制代码
相关推荐
Larry_Yanan4 小时前
Qt网络开发之基于 QWebEngine 实现简易内嵌浏览器
linux·开发语言·网络·c++·笔记·qt·学习
一然明月7 小时前
Qt QML 锚定(Anchors)全解析
java·数据库·qt
一只爱学习的小鱼儿7 小时前
使用QT编写粒子显示热力图效果
开发语言·qt
大树学长7 小时前
【QT开发】Redis通信相关(一)
redis·qt
笨笨马甲7 小时前
Qt 人脸识别
开发语言·qt
山上三树8 小时前
Qt QObject介绍
开发语言·qt
山上三树8 小时前
QObject、QWidget、Widget三者的关系
qt
坚定学代码8 小时前
qt c++ 局域网聊天小工具
c++·qt·个人开发
笨笨马甲9 小时前
Qt network开发
开发语言·qt
mengzhi啊1 天前
Qt Designer UI 界面 拖的两个 QLineEdit,想按 Tab 从第一个跳到第二个
qt