其實挺簡單的:
在你新建的QWidget.h(我一般簡稱爲:界面類)裏
引入頭文件
#include<QKeyEvent>
QT裏本身就包含了兩種鍵盤事件(按下和釋放),能夠實現大部分的需求
void QWidget::keyPressEvent(QKeyEvent *event) //鍵盤按下事件
void QWidget::keyReleaseEvent(QKeyEvent *event) //鍵盤松開事件
在界面類的protected:方法裏進行聲明。
下面轉到widget.cpp文件
在widget的構造函數裏寫:
this->grabKeyboard();//捕獲鍵盤
對保護類的方法寫方法體
void TcpClient::keyPressEvent(QKeyEvent *event)
{
//Enter事件好像這兩個都要寫,只寫event->key() == Qt::Key_Enter,無法實現
if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return)
{
sendMsg();
}
}
sendMsg();是個槽函數。原來界面類的槽函數可以當函數直接使用呀!有得。