Qt绘图—画时钟

先展示最终的效果图
哈兰德很帅

绘制时针、分针、秒针
定义三个数组,数组中的三个点连起来就是时针、分针、秒针。

  /* 时分秒所描绘不规则形状和长度 */
    static const QPoint hourHand[3] = 
    {
   
        QPoint(4,4),
        QPoint(-7,8),
        QPoint(0,-40)
    };

    static const QPoint minuteHand[3] =
    {
   
        QPoint(4,4),
        QPoint(-7,8),
        QPoint(0,-70)
    };

    static const QPoint secondHand[3] =
    {
   
        QPoint(4,4),
        QPoint(-7,8),
        QPoint(0,-80)
    };
	//填充颜色,具体颜色我是百度的
    QColor hourColor(255,255,255);  
    QColor minuteColor(255,255,255);
    QColor secondColor(255,255,255);

一些其他

    int side = qMin(this->width(),this->height());
    QTime time = QTime::currentTime();   //当前系统时间
    painter.translate(this->width()/2.05,this->height()/1.90);  //平移坐标原点
    painter.setRenderHint(QPainter::Antialiasing);   // 反锯齿,好看点
    painter.scale(side/240.0,side/240.0); //伸缩

表盘+时、分、秒钟

  /******************** 时钟 ********************/

    painter.setPen(Qt::NoPen);
    painter.setBrush(hourColor);
    painter.save();
    painter.rotate(30.0 * (time.hour() + time.minute() / 60.0));  //将坐标系旋转 角度转换30度
    painter.drawConvexPolygon(hourHand,3); <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值