【笔记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");
        }
}
复制代码
相关推荐
云中飞鸿3 小时前
VS2015安装后,安装QT59,之后安装qt-vsaddin-msvc2015-2.4.3.vsix 文件失败问题!
开发语言·qt
凯子坚持 c3 小时前
Qt常用控件指南(9)
开发语言·qt
创客小邓6 小时前
Qt对SQLite数据库的操作
数据库·qt·sqlite
小小码农Come on6 小时前
QT布局介绍
开发语言·qt
云中飞鸿6 小时前
QTCreator error: C3861: “_mm_loadu_si64”: 找不到标识符
qt
CodeByV6 小时前
【Qt】信号与槽
开发语言·qt
枫叶丹47 小时前
【Qt开发】Qt系统(十一)-> Qt 音频
c语言·开发语言·c++·qt·音视频
qq_3975623121 小时前
QT工程 , 生成别的电脑运行的exe程序
嵌入式硬件·qt
轩情吖21 小时前
Qt的窗口
开发语言·c++·qt·窗口·工具栏·桌面级开发
凯子坚持 c1 天前
Qt常用控件指南(8)
开发语言·数据库·qt