Friday, November 21, 2025
HomeLanguagesPyQt5 – How to make a button with image ?

PyQt5 – How to make a button with image ?

In this article we will see how to create a button with image. Unlike icon which exist only at the left side, we will create a button which is covered with the image. In order to do so we will use setStyleSheet method to add image to background of the button.

Below is how normal button and a button with image looks like.

Syntax : button.setStyleSheet(“background-image : url(image.png);”)

Argument : It takes string as argument.

Action performed : It sets background image to the button.

Code :




# importing libraries
from PyQt5.QtWidgets import * 
from PyQt5.QtGui import * 
from PyQt5.QtCore import * 
import sys
  
  
class Window(QMainWindow):
    def __init__(self):
        super().__init__()
  
        # setting title
        self.setWindowTitle("Python ")
  
        # setting geometry
        self.setGeometry(100, 100, 600, 400)
  
        # calling method
        self.UiComponents()
  
        # showing all the widgets
        self.show()
  
    # method for widgets
    def UiComponents(self):
  
        # creating a push button
        button = QPushButton("CLICK", self)
  
        # setting geometry of button
        button.setGeometry(200, 150, 100, 30)
  
        # adding action to a button
        button.clicked.connect(self.clickme)
  
        # setting image to the button
        button.setStyleSheet("background-image : url(image.png);")
  
  
  
    # action method
    def clickme(self):
  
        # printing pressed
        print("pressed")
  
# create pyqt5 app
App = QApplication(sys.argv)
  
# create the instance of our Window
window = Window()
  
# start the app
sys.exit(App.exec())


Output :

RELATED ARTICLES

1 COMMENT

Most Popular

Dominic
32405 POSTS0 COMMENTS
Milvus
97 POSTS0 COMMENTS
Nango Kala
6782 POSTS0 COMMENTS
Nicole Veronica
11928 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11997 POSTS0 COMMENTS
Shaida Kate Naidoo
6907 POSTS0 COMMENTS
Ted Musemwa
7166 POSTS0 COMMENTS
Thapelo Manthata
6862 POSTS0 COMMENTS
Umr Jansen
6847 POSTS0 COMMENTS