标题:如何在qt上实现闹钟啊??
作者:jingzi
日期:2008-07-28 09:00
内容:
要用导纳要用请问达人们,如何在qt上实现闹钟功能啊?要用到哪些类啊?最好能有实现功能的代码!谢谢!在线等待.......
#1 [jingzi 08-02 10:30]
自己顶顶!
#2 [jingzi 08-02 10:30]
自己顶顶!
#3 [jekouwang 08-03 14:19]
最近我在做Qtopia4上的一个闹钟功能,基本了解了其中的原理,自己总结了一下,不过这里好像不能发附件,所以没有办法传上来。
那就简单的说一下:
服务端有一个记录所有闹钟的list,根据list中闹钟项查找到最近将发生的闹钟,然后根据其时间设置一个计时器,到这个闹钟提示时间触发时间消息,然后在timerEvent函数中来发送一个Qcop信号(由用户应用程序接收并且做闹钟的提醒处理),并且在List中将这个闹钟项删除,继续设置下一个最近将发生的闹钟的计时器。
客户端应用程序(也就是需要自己动手写的程序),通过Qtopia::addAlarm(....)添加闹钟事件,在你的程序中建立这么一个链接:connect(qApp, SIGNAL(appMessage(...)), ths, SLOT(appMessage(...)));然后再槽appMessage中判断如下:
void ClockMain::appMessage( const QString &msg, const QByteArray &data )
{
if ( msg == "alarm(QDateTime,int)" ) {
QDataStream ds(data);
QDateTime when;
int t;
ds >> when >> t;
//这里实现闹钟提醒的功能代码
}
}
你可以参考如下几个函数:
void Qtopia::addAlarm ( QDateTime when, const QString & channel, const QString & msg, int data )
void Qtopia::deleteAlarm ( QDateTime when, const QString & channel, const QString & msg, int data )
还有AlarmServerService 的说明,
或者你可以直接参考Qtopia下面的Clock程序,在目录QTOPIA_DIR/src/application/clock中
还有什么疑问可以给我发邮件jekouwnag@gmail.com
#4 [jingzi 08-04 11:47]
多谢jekouwang,我用的qt版本里面没有QColck这个类,我现在又刚开始用qt4的版本了,希望以后多多关照.我QQ734232134望能做个好友,呵呵