Qt中时钟时间功能QTime详解
QTime提供了时钟时间功能,记录从午夜开始的时、分、秒、毫秒数,并提供比较和操作时间的功能。下面结合源码介绍QTime类,为便于理解QTime的实现,下面代码均做适当的简化。
在QTime内部用一个int型私有变量mds来记录时间信息,即将时间转换为毫秒数来保存。QTime有两个构造函数,默认的无参构造函数为QTime() : mds(NullTime){},将mds置为NullTime,以标志为该对象在进一步设置时间前(setHMS())为空对象,而NullTime为QTime的一个私有枚举变量enum{NullTime = -1},所有QTime内部使用mds是否被置为-1来标志对象是否为空对象,并且可以用isNull()函数可以检查当前对象是否为空对象。而另一个参数构造函数为:
QTime(int h, int m, int s, int ms){ setHMS(h, m, s, ms); }
也就是进一步调用了时间的设置函数setHMS(),而所谓的时间设置函数其实很简单,就是将参数时、分、秒、毫秒均转换为毫秒表示,对于一天来说,也就24个小时,所以以毫秒表示,最大的数字也就是86400000。
bool setHMS(int h, int m, int s, int ms){
//检查参数(略)
mds = (h*SECS_PER_HOUR + M*SECS_PER_MIN + S)*1000 + ms;
return true;
}
SECS_PER_HOUR-3600,SECS_PE
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
