Skip to main content

PyQt5 clock in python programming

PyQt5 clock in python programming




 

# created by Ahvi  
# importing libraries
from email.mime import application
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys

# creating a clock class


class Clock(QMainWindow):

    # constructor
    def __init__(self):
        super().__init__()

        # creating a timer object
        timer = QTimer(self)

        # adding action to the timer
        # update the whole code
        timer.timeout.connect(self.update)

        # setting start time of timer i.e 1 second
        timer.start(1000)

        # setting window title
        self.setWindowTitle('Clock')

        # setting window geometry
        self.setGeometry(200, 200, 300, 300)

        # setting background color to the window
        self.setStyleSheet("background : black;")

        # creating hour hand
        self.hPointer = QtGui.QPolygon([QPoint(6, 7),
                                        QPoint(-6, 7),
                                        QPoint(0, -50)])

        # creating minute hand
        self.mPointer = QPolygon([QPoint(6, 7),
                                  QPoint(-6, 7),
                                  QPoint(0, -70)])

        # creating second hand
        self.sPointer = QPolygon([QPoint(1, 1),
                                  QPoint(-1, 1),
                                  QPoint(0, -90)])
        # colors
        # color for minute and hour hand
        self.bColor = Qt.cyan

        # color for second hand
        self.sColor = Qt.red

    # method for paint event
    def paintEvent(self, event):

        # getting minimum of width and height
        # so that clock remain square
        rec = min(self.width(), self.height())

        # getting current time
        tik = QTime.currentTime()

        # creating a painter object
        painter = QPainter(self)

        # method to draw the hands
        # argument : color rotation and which hand should be pointed

        def drawPointer(color, rotation, pointer):

            # setting brush
            painter.setBrush(QBrush(color))

            # saving painter
            painter.save()

            # rotating painter
            painter.rotate(rotation)

            # draw the polygon i.e hand
            painter.drawConvexPolygon(pointer)

            # restore the painter
            painter.restore()

        # tune up painter
        painter.setRenderHint(QPainter.Antialiasing)

        # translating the painter
        painter.translate(self.width() / 2, self.height() / 2)

        # scale the painter
        painter.scale(rec / 200, rec / 200)

        # set current pen as no pen
        painter.setPen(QtCore.Qt.NoPen)

        # draw each hand
        drawPointer(
            self.bColor, (30 * (tik.hour() + tik.minute() / 60)), self.hPointer)
        drawPointer(
            self.bColor, (6 * (tik.minute() + tik.second() / 60)), self.mPointer)
        drawPointer(self.sColor, (6 * tik.second()), self.sPointer)

        # drawing background
        painter.setPen(QPen(self.bColor))

        # for loop
        for i in range(0, 60):

            # drawing background lines
            if (i % 5) == 0:
                painter.drawLine(87, 0, 97, 0)

            # rotating the painter
            painter.rotate(6)

        # ending the painter
        painter.end()


if __name__ == '__main__':
    app = QApplication(sys.argv)

# creating a clock object
win = Clock()

# show
win.show()


exit(app.exec_())
















Comments

Popular posts from this blog

How To Create Snake Game In C++ Programming Language By Ahvi Official_Coding

 How To Create Snake Game In C++ Programming Language : Source Code :  /*Snake Game create By Ahvi Official_Coding*/ #include <iostream.h> #include <conio.h> #include <graphics.h> #include <dos.h> #include <stdlib.h> #include <stdio.h> #include <time.h> #include <string.h> class Snake {   int p1,p2,v1,v2,v3,e1,e2,prev,now,n,colr,dsp,cnt,dly,m;   int stp, egGen;   int xr, yr;   void caught ();   public:   long scr;   int strtX,strtY,endX,endY;   int pos [ 100 ][ 2 ];   void show ();   void init ();   void egg ();   void transpose ();   void gnrtCond ();   void gnrtUnCond ();   void check ();   void checkEgg ();   void move ();   void chngDir ();   void sndEt ();   void sndCgt ();   int test ();   void score ();   Snake ();   Snake ( Snake * );   ~Snake ();  }; Snake :: Snake () ...

How to create A Spider In Python Turtle Programming by Ahvi Official_Coding

 How to create A Spider In Python Turtle Programming:                      import turtle turtle . Screen (). bgcolor ( 'black' ) t = turtle t . pencolor ( 'cyan' ) t . pensize ( 2 ) t . fillcolor ( 'cyan' ) turtle . begin_fill () t . penup () t . goto ( 0 , 30 ) t . pendown () t . right ( 140 ) t . forward ( 80 ) for i in range ( 10 ):     t . left ( 5 )     t . forward ( 5 ) t . forward ( 100 ) for i in range ( 10 ):     t . left ( 5 )     t . forward ( 5 ) t . forward ( 50 ) for i in range ( 10 ):     t . left ( 8 )     t . forward ( 5 ) t . forward ( 50 ) for i in range ( 10 ):     t . left ( 5 )     t . forward ( 5 ) t . forward ( 100 ) for i in range ( 10 ):     t . left ( 5 )     t . forward ( 5 ) t . forward ( 80 ) t . goto (- 43 ,- 8 ) t . right ( 20 ) for i in range ( 5 ):     t...

Rose Create in Python Turtle Programming Language

 Rose Create in Python Turtle Programming Language #Rose program create by Ahvi import colorsys import turtle t = turtle . Turtle () s = turtle . Screen () t . pensize ( 2 ) t . fillcolor ( 'deeppink' ) t . begin_fill () def rr ( a , d , r ):     for i in range ( r ):           t . left ( a )           t . forward ( d ) def rl ( a , d , r ):         for i in range ( r ):               t . right ( a )               t . forward ( d )               def rr1 ( a , d , r ):         for i in range ( r ):           t1 . left ( a )           t1 . forward ( d ) def rl1 ( a , d , r ):         for i in range ( r ):               t1 . right ( a )       ...