大佬教程收集整理的这篇文章主要介绍了groovy 方式 写的qt时钟代码,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
下面是大佬教程code.js-code.com 通过网络收集整理的代码片段。
/** * */ package com.suziwen import com.trolltech.qt.core.QPoint import com.trolltech.qt.core.QTime import com.trolltech.qt.core.QTimer import com.trolltech.qt.gui.QApplication import com.trolltech.qt.gui.QColor import com.trolltech.qt.gui.QHideEvent import com.trolltech.qt.gui.QPaintEvent import com.trolltech.qt.gui.QPainter import com.trolltech.qt.gui.QPen import com.trolltech.qt.gui.QPolygon import com.trolltech.qt.gui.QShowEvent import com.trolltech.qt.gui.QWidget /** * @author suziwen * */ class Clock extends QWidget { QTimer qtimer = new QTimer(); static def hourHand = new QPolygon([new QPoint(7,8),new QPoint(-7,new QPoint(0,-30)]); static def minuteHand = new QPolygon([new QPoint(7,-70)]); static def secondHand = new QPolygon([new QPoint(3,new QPoint(-3,-90)]); static def hourColor = new QColor(127,127); static def minuteColor = new QColor(0,129,129); static def secondColor = new QColor(0,100,100); Clock(){ super(); qtimer.timeout.connect(this,"update()"); } void hideEvent (QHideEvent event){ qtimer.stop(); } void showEvent(QShowEvent event){ qtimer.start(1000); } void paintEvent(QPaintEvent E){ def side = Math.min(this.width(),this.height()); def time = QTime.currentTime(); def painter = new QPainter(this); painter.translate(this.width()/2,this.height()/2); painter.setRenderHint(QPainter.RenderHint.Antialiasing); painter.scale(side/200,side/200); painter.setPen(QPen.NoPen); painter.setBrush(hourColor); painter.save(); painter.rotate(30.0*(time.hour() + time.minute()/60.0)); painter.drawConvexPolygon(hourHand); painter.restore(); painter.setPen(hourColor); for( def i in 0..12){ painter.drawLine(0,92,96); painter.rotate(30.0); } painter.setPen(QPen.NoPen); painter.setBrush(minuteColor); painter.save(); painter.rotate(6.0*(time.minute() + time.second()/60.0)); painter.drawConvexPolygon(minuteHand); painter.restore(); painter.setPen(minuteColor); for(def i in 0..60){ if(i % 5 != 0 ){ painter.drawLine(0,94,96); } painter.rotate(6.0); } painter.setPen(QPen.NoPen); painter.setBrush(secondColor); painter.save(); painter.rotate(6.0*time.second()); painter.drawConvexPolygon(secondHand); painter.restore(); } static main(args) { QApplication app = new QApplication(args); def clock = new Clock(); clock.resize(500,500); clock.show(); app.exec(); } }
以上是大佬教程为你收集整理的groovy 方式 写的qt时钟代码全部内容,希望文章能够帮你解决groovy 方式 写的qt时钟代码所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。