KDE 桌面环境

3.4. 扩展Widget类

第五课的目标是扩展widget类。因而,你会学到有关虚拟函数的知识。在这里resizeEvent()被重 写。另一个需要重点学习的是(除了如何扩展类)Qt使用虚函数来处理用户事件,而把事件本身作为 参数。因此,你必须熟悉以下的Qt类:

无论何时写自己的widget,特别是应用程序的可视区域,你都得自己重写那些需要处理的widget事件方 法,以替代缺省的实现。例如:

virtual void mousePressEvent ( QMouseEvent *)处理鼠标事件。在实现时,你必须在函数头中 输入一个参数名,大多数程序员用event或者干脆用e作为参数名。

然后你就可以处理事件参数了。对QMouseEvent而言,你可以知道引发该事件的按钮是左键,中键 或者右键。