Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1971773
  • 博文数量: 356
  • 博客积分: 8284
  • 博客等级: 中将
  • 技术积分: 4580
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-15 20:25
个人简介

天行健,君子以自强不息

文章分类

全部博文(356)

文章存档

2018年(1)

2016年(4)

2015年(13)

2014年(14)

2013年(2)

2012年(25)

2011年(43)

2010年(65)

2009年(189)

分类: LINUX

2009-11-30 22:49:08

ledclock
 
ledclock总共包含三个文件:digiclock.h,digiclock.cpp,main.cpp
 
三个文件的代码分别如下:
 
digiclock.h:
 
#ifndef DIGICLOCK_H
#define DIGICLOCK_H
#include
class DigiClock : public QLCDNumber
{
    Q_OBJECT
public:
    DigiClock(QWidget *parent=0);
   
    void mousePressEvent(QMouseEvent *);
    void mouseMoveEvent(QMouseEvent *);
public slots:  
    void showTime();
   
private:
    QPoint dragPosition;
    bool showColon;
   
};
#endif
digiclock.cpp:
 
#include "digiclock.h"
DigiClock::DigiClock(QWidget *parent)
 : QLCDNumber(parent)
{
    QPalette p = palette();
    p.setColor(QPalette::Window,Qt::red);
    setPalette(p);
   
    setWindowFlags(Qt::FramelessWindowHint);
    setWindowOpacity(0.5);
   
    QTimer *timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), this, SLOT(showTime()));
    timer->start(500);
    showTime();
    resize(100, 40);
 showColon=true;
}
void DigiClock::showTime()
{
     QTime time = QTime::currentTime();
     QString text = time.toString("hh:mm");
     if(showColon)
     {
      text[2] = ':';
      showColon = false;
     }
     else
     {
      text[2] = ' ';
      showColon = true;      
     }
     display(text);
}
 
void DigiClock::mousePressEvent(QMouseEvent * e)
{
    if (e->button() == Qt::LeftButton)
    {
     dragPosition = e->globalPos() - frameGeometry().topLeft();
     e->accept();
    }
    if (e->button() == Qt::RightButton)
    {
     close();
    }   
}
void DigiClock::mouseMoveEvent(QMouseEvent * e)
{
    if (e->buttons() & Qt::LeftButton)
    {
     move(e->globalPos() - dragPosition);
     e->accept();
    }
}
 
 
main.cpp:
 
 
#include
#include "digiclock.h"
int main(int argc, char *argv[])
{
    QApplication app(argc,argv);
    DigiClock clock;
    clock.show();
    return app.exec();
}
 
 
效果如下:
 
 
 
文件: digiclock.rar
大小: 35KB
下载: 下载
阅读(1159) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

number007cool2009-12-28 18:35:30

恩,可以参考一下。

chinaunix网友2009-12-23 10:43:33

赞,不错的入门程序