【笔记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");
        }
}
复制代码
相关推荐
C++ 老炮儿的技术栈5 小时前
Qt5.9.1 Windows 完整开发环境搭建流程
开发语言·c++·windows·qt·编辑器·代码化
Quz12 小时前
QML ComboBox 可编辑输入与动态更新模型
qt
丰锋ff12 小时前
7.2Qt中Json的操作
开发语言·qt·json
我不是疯子是傻子12 小时前
用DeepSeek生成Qt多协议解析器?「正则+状态机+AI分支裁剪」混合调优实战
开发语言·qt
qq_4017004113 小时前
QT段错误一般是什么原因造成的,如何快速排查
qt
平常心的技术小牛13 小时前
Qt-快速上手-QLabel
开发语言·qt
不会代码的小猴13 小时前
2. 了解Qt
开发语言·c++·笔记·qt·算法
丰锋ff1 天前
3.1 Qt事件之事件处理器
开发语言·qt
反转180度1 天前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt
我不是疯子是傻子1 天前
Qt CAN通信周期发送抖动?实测定时器精度校准与时间戳补偿方案
开发语言·数据库·qt