其实挺简单的:
在你新建的 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();是个槽函数。原来界面类的槽函数可以当函数直接使用呀!有得。