> 技术文档 > [ Qt ] | 与系统相关的操作(二):键盘、定时器、窗口移动和大小

[ Qt ] | 与系统相关的操作(二):键盘、定时器、窗口移动和大小


捕获键盘操作:

QShortCut 信号槽封装过的,获取按键的方式;我们也可以在更底层的角度,获取用户键盘按下的情况。

keyPressEvent(QKeyEvent* )

modifiers() 键盘修饰符,Ctrl、Alt ...

定时器

QTimer 实现了定时器功能,在QTimer背后是QTimeEvent定时器事件来支撑的。

QObject提供了一个timerEvent函数,startTimer开启定时器,killTimer关闭定时器。

实现一个10秒的倒计时

1. 拖入LCD Number控件,初始值设置为10

 2. 打开定时器事件

timeID是定时器的身边标识,类似于Linux下的共享内存、消息队列的使用ftok()生成的key一样。

3. 重写void timerEvent(QTimerEvent *event) 方法。

如果程序中有多个定时器,那么他们都可以触发timeEvent事件,所以需要判断timeID,是否是我们需要的定时器

使用timerEvent比QTimer更复杂一些,手动管理timeID,并且呢还要区分timeEvent是哪个定时器引起的。

窗口移动和窗口大小变化

moveEvent

resizeEvent

直接重写方法。