Advertisement
Guest User

newfile.py

a guest
Jul 17th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.40 KB | None | 0 0
  1. from PyQt5.QtCore import QPoint, Qt, QTime, QTimer
  2. from PyQt5.QtGui import QColor, QPainter, QPolygon,QFont
  3. from PyQt5.QtWidgets import QApplication, QWidget
  4.  
  5.  
  6. class AnalogClock(QWidget):
  7.     hourHand = QPolygon([
  8.         QPoint(7, 8),
  9.         QPoint(-7, 8),
  10.         QPoint(0, -40)
  11.     ])
  12.  
  13.     minuteHand = QPolygon([
  14.         QPoint(7, 8),
  15.         QPoint(-7, 8),
  16.         QPoint(0, -70)
  17.     ])
  18.  
  19.     hourColor = QColor(127, 0, 127)
  20.     minuteColor = QColor(0, 127, 127, 191)
  21.  
  22.     def __init__(self, parent=None):
  23.         super(AnalogClock, self).__init__(parent)
  24.  
  25.         timer = QTimer(self)
  26.         timer.timeout.connect(self.update)
  27.         timer.start(1000)
  28.  
  29.         self.setWindowTitle("Analog Clock")
  30.         self.resize(200, 200)
  31.  
  32.     def paintEvent(self, event):
  33.         side = min(self.width(), self.height())
  34.         time = QTime.currentTime()
  35.  
  36.         painter = QPainter(self)
  37.         painter.setRenderHint(QPainter.Antialiasing)
  38.         painter.translate(self.width() / 2, self.height() / 2)
  39.         painter.scale(side / 200.0, side / 200.0)
  40.  
  41.         painter.setPen(Qt.NoPen)
  42.         painter.setBrush(AnalogClock.hourColor)
  43.  
  44.         painter.save()
  45.         painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0)))
  46.         painter.drawConvexPolygon(AnalogClock.hourHand)
  47.         painter.restore()
  48.  
  49.         painter.text=str(list(range(1,13)))
  50.         painter.setPen(AnalogClock.hourColor)
  51.         t= range(1,13)
  52.        
  53.         for i in painter.text:
  54.             l=painter.text.index(i)
  55.             painter.drawLine(88, 0, 96, 0)
  56.             if painter.text:
  57.                
  58.                 painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0)))
  59.                  painter.drawText(80,100,painter.text[l])
  60.                 painter.restore()
  61.         painter.restore()
  62.            
  63.                
  64.  
  65.         painter.setPen(Qt.NoPen)
  66.         painter.setBrush(AnalogClock.minuteColor)
  67.  
  68.         painter.save()
  69.         painter.rotate(6.0 * (time.minute() + time.second() / 60.0))
  70.         painter.drawConvexPolygon(AnalogClock.minuteHand)
  71.         painter.restore()
  72.  
  73.         painter.setPen(AnalogClock.minuteColor)
  74.         i=1
  75.         for j in range(60):
  76.             if (j % 5) != 0:
  77.                 painter.drawLine(92, 0, 96, 0)  
  78.            
  79.        
  80.        
  81.                
  82.                
  83.  
  84. if __name__ == '__main__':
  85.  
  86.     import sys
  87.  
  88.     app = QApplication(sys.argv)
  89.     clock = AnalogClock()
  90.     clock.show()
  91.     sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement