Open In App

How to make a loading gif in PyQT5?

Last Updated : 02 Feb, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

PyQt5 is a GUI toolkit which can be used to develop GUI application in Python. It provides many modules that can help to build various components of the GUI application.

Installation:

pip install PyQt5

Gif Link:  https://loading.io/

Approach:

  • Import module
  • Create window and labels
  • Load GIF
  • Start GIF using start() 
  • Add mechanism to stop GIF using stop()
  • Execute code

Example:

Python3




import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QMovie
from PyQt5.QtCore import Qt
  
  
class LoadingGif(object):
  
    def mainUI(self, FrontWindow):
        FrontWindow.setObjectName("FTwindow")
        FrontWindow.resize(320, 300)
        self.centralwidget = QtWidgets.QWidget(FrontWindow)
        self.centralwidget.setObjectName("main-widget")
  
        # Label Create
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(25, 25, 200, 200))
        self.label.setMinimumSize(QtCore.QSize(250, 250))
        self.label.setMaximumSize(QtCore.QSize(250, 250))
        self.label.setObjectName("lb1")
        FrontWindow.setCentralWidget(self.centralwidget)
  
        # Loading the GIF
        self.movie = QMovie("loader.gif")
        self.label.setMovie(self.movie)
  
        self.startAnimation()
  
    # Start Animation
  
    def startAnimation(self):
        self.movie.start()
  
    # Stop Animation(According to need)
    def stopAnimation(self):
        self.movie.stop()
  
  
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()
demo = LoadingGif()
demo.mainUI(window)
window.show()
sys.exit(app.exec_())


Output:

The gif loading screen.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads