我的QT Creator學習筆記(十四)——事件系統之鍵盤事件

QKeyEvent類用來描述一個鍵盤事件。QKeyEvent的key()函數可以獲取具體的按鍵,modifiers()函數來獲取一些修飾按鍵,比如Ctrl和Shift等。

新建Qt Widgets應用,項目名稱爲mykeywevent,基類選擇QWidget,類名默認Widget。在widget.h中添加函數聲明如下

protected:
    void keyPressEvent(QKeyEvent* event);
    void keyReleaseEvent(QKeyEvent* event);

widget.cpp中實現函數,如下。

void Widget::keyPressEvent(QKeyEvent *event)//鍵盤按下事件
{
    if(event->modifiers()==Qt::ControlModifier)
    {
        if(event->key()==Qt::Key_M)
            setWindowState(Qt::WindowMaximized);//按下Control+M窗口最大化

    }
    else
        QWidget::keyPressEvent(event);
}

void Widget::keyReleaseEvent(QKeyEvent *event)
{

}

以上,實現了按下Ctrl+M窗口最大化的功能。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章