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窗口最大化的功能。