[ 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
直接重写方法。