031 定时器-案例 - 图1

因为ID在外面,不好整

怎么去封装一个控件

init的方法!!而且记得用super!!去调用下父类的方法。因为不调用怎么去初始化呢?交给父类去做

031 定时器-案例 - 图2

031 定时器-案例 - 图3

创建实例的时候,传入了一个参数,传给上面init的,而init没有参数。

面向对象课程里的:

031 定时器-案例 - 图4

然后还要在传给父类才行:

031 定时器-案例 - 图5

问题2 少一个定时器的ID呀

031 定时器-案例 - 图6

解决:

031 定时器-案例 - 图7把这串放到初始化里面去。作为对象的属性去使用

031 定时器-案例 - 图8

封装带来的问题就是灵活性的缺乏

提醒。自定义控件

想去控制倒计时的时间

一、单独提供一个方法去使用

031 定时器-案例 - 图9031 定时器-案例 - 图10

二、还可以把秒数放到创建标签的时候

031 定时器-案例 - 图11

加了参数就 要在init里单独地去处理了,还不能单独传给父类的init方法,没有这个参数。

如果不想这么快的开启倒计时功能,还可以怎么搞

031 定时器-案例 - 图12把这些单独地写到某些方法、类里面去,外界去调用方法和秒数就行。

031 定时器-案例 - 图13

一些思路

031 定时器-案例 - 图14要拿window这个控件去做事情了。

031 定时器-案例 - 图15

做什么事情?就是会调用这个window对象里面的事件,很明显,这个QWidget没法直接去写timeevent对吧。

要直自己去弄个子类去定义。