键盘消息和鼠标消息没有什么差异,用法和覆写方法都差不多,可以通过传递的参数判断按下了哪些键,下面代码中有比较详细的示例。其中也介绍了一下定时器消息,当覆写一个定时器消息时,你需要调用 QWidget 的成员函数 startTimer 来启动定时器,它的参数是定时器多长时间运行一次,并且如果有多个定时器时,你还需要知道每个定时器的 ID 是多少,定时器消息因为哪个定时器触发了而运行。这些都在例子中有所体现。
【实现代码】
代码分三个文件,分别为(参考 使用 Qt 构建一个简单的窗体程序 ):
- main.c:创建应用程序框架,调用 CWidget 窗口的入口函数。
- CWidget.h:继承 QWidget 类。
- CWidget.cpp:覆写键盘、定时器等消息函数的实现
1 | #include <QApplication> |
1 | #ifndef CWIDGET_H |
1 | #include "cwidget.h" |