• 6973阅读
  • 4回复

如何在qt上实现闹钟啊?? [复制链接]

上一主题 下一主题
离线jingzi
 
只看楼主 倒序阅读 楼主  发表于: 2008-07-28
— 本帖被 XChinux 执行加亮操作(2008-08-04) —
要用导纳要用请问达人们,如何在qt上实现闹钟功能啊?要用到哪些类啊?最好能有实现功能的代码!谢谢!在线等待.......
命运在自己手中!!*相信自己*加油!!
离线jingzi
只看该作者 1楼 发表于: 2008-08-02
自己顶顶!
命运在自己手中!!*相信自己*加油!!
离线jingzi
只看该作者 2楼 发表于: 2008-08-02
自己顶顶!
命运在自己手中!!*相信自己*加油!!
离线jekouwang
只看该作者 3楼 发表于: 2008-08-03
最近我在做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
忘昨天的得与失,珍惜今天的每时每刻和每件小事每一个人,展望美好的明天!
离线jingzi
只看该作者 4楼 发表于: 2008-08-04
多谢jekouwang,我用的qt版本里面没有QColck这个类,我现在又刚开始用qt4的版本了,希望以后多多关照.我QQ734232134望能做个好友,呵呵
命运在自己手中!!*相信自己*加油!!
快速回复
限100 字节
 
上一个 下一个