鱼C论坛

 找回密码
 立即注册
查看: 2983|回复: 22

[技术交流] C++写的时钟(详细注释)

[复制链接]
发表于 2015-1-27 20:19:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
未命名.JPG
#include "clock.h"

Clock::Clock(QWidget *parent)
    : QWidget(parent)
{
    resize(200,200);        //设置窗口大小
    QTimer *timer = new QTimer(this) ;  //使用定时器,1s刷新一次
    timer->start(1000);/./定时器时间为1s
    connect(timer ,SIGNAL(timeout()) ,this , SLOT(update()) );//信号是定时器,槽是刷新函数
}

Clock::~Clock()
{

}
void Clock::paintEvent(QPaintEvent *)
{
    QPainter paint(this);
    QTime time = QTime::currentTime();//获取当前时间

    paint.translate(100,100);//平移坐标系
    paint.setRenderHint(QPainter::Antialiasing);//设置曲线光滑

    paint.setBrush(Qt::red);//设置画刷画笔颜色
    paint.setPen(Qt::red);
    paint.save();//保存坐标系当前状态
    paint.rotate(6.0*time.second());//坐标轴顺时针旋转
    paint.drawConvexPolygon(sec,4);//四点画多边形(指针形状)
    paint.restore();//恢复坐标轴

    paint.setBrush(Qt::blue);
    paint.setPen(Qt::blue);
    paint.save();
    paint.rotate(6.0*(time.minute()+time.second()/60.0));
    paint.drawConvexPolygon(min,4);
    paint.restore();

    paint.setBrush(Qt::black);
    paint.setPen(Qt::black);
    paint.save();
    paint.rotate(30.0*(time.hour()+time.minute()/60.0));
    paint.drawConvexPolygon(hour,4);
    paint.restore();

    for(int i = 0 ; i<12 ; i++)//十二次旋转坐标轴,画表盘
    {
        paint.rotate(30);
        paint.drawLine(0,-100,0,-90);
    }
}


评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
拈花小仙 + 5 + 5 + 3 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-27 20:24:26 | 显示全部楼层
clock.h为什么我提示没有?
楼主自己写的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-27 20:27:14 | 显示全部楼层
JayChen 发表于 2015-1-27 20:24
clock.h为什么我提示没有?
楼主自己写的?

是的
没有发完整,只发了核心部分,下面是clock.h#ifndef CLOCK_H
#define CLOCK_H

#include <QWidget>
#include <QPainter>
#include <QPoint>
#include <QTime>
#include <QTimer>

static QPoint sec[4] = {QPoint(0,-70),QPoint(2,0),QPoint(0,10),QPoint(-2,0)};
static QPoint min[4] = {QPoint(0,-60),QPoint(4,0),QPoint(0,12),QPoint(-4,0)};
static QPoint hour[4] = {QPoint(0,-50),QPoint(6,0),QPoint(0,13),QPoint(-6,0)};

class Clock : public QWidget
{
    Q_OBJECT

public:
    Clock(QWidget *parent = 0);
    ~Clock();
protected:
    void paintEvent(QPaintEvent *);
};
#endif // CLOCK_H


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-27 20:29:29 | 显示全部楼层
忘了说,用的不是MFC而是QT类库:ton:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-27 20:31:54 | 显示全部楼层
额,建议发代码用代码格式,好看一点:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-27 20:34:34 | 显示全部楼层
短小精悍 很强大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-27 20:34:39 | 显示全部楼层
。。。新鱼油,以后会注意的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-27 23:49:49 From FishC Mobile | 显示全部楼层
nb
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-28 08:41:37 | 显示全部楼层
回帖挣鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-28 21:26:26 From FishC Mobile | 显示全部楼层
顶来自: iPhone客户端
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-28 22:20:19 | 显示全部楼层
我要鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-28 22:23:05 | 显示全部楼层
还真是盗版商:huffy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-28 23:03:23 | 显示全部楼层

什么意思????????????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-29 06:44:48 | 显示全部楼层
开源万岁 发表于 2015-1-28 23:03
什么意思????????????

发错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-30 13:54:08 | 显示全部楼层
学习一下,感谢楼主分享。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-1-30 16:10:36 | 显示全部楼层
aswyamato1989 发表于 2015-1-30 13:54
学习一下,感谢楼主分享。

一起学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-30 22:31:13 | 显示全部楼层
这用什么软件啊 我是初学者,不是用的Code::Blocks软件运行吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-31 13:32:51 | 显示全部楼层
w1933918191 发表于 2015-1-30 22:31
这用什么软件啊 我是初学者,不是用的Code::Blocks软件运行吧?

使用的QT类库,就是用C++调用QT类库,和用C++ 调用MFC类库一样,编译器可以用CodeBlocks ,VC6.0,VS ,QT Creater
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-31 16:25:56 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-31 16:27:07 | 显示全部楼层
我去看看C++的绘图函数吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 15:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表