Open In App

Qt Alignment in PyQt5

Last Updated : 25 Apr, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

In PyQt5, Qt alignment is used to set the alignment of the widgets. In order to use the Qt alignment methods, we have to import Qt from the QtCore class. 
 

from PyQt5.QtCore import Qt


 

There are many methods in Qt alignment :
1. Qt.AlignLeft 
2. Qt.AlignRight 
3. Qt.AlignBottom 
4. Qt.AlignTop 
5. Qt.AlignCenter 
6. Qt.AlignHCenter 
7. Qt.AlignVCenter


Note: There are also some alignment methods like Qt.AlignJustify but they works in PyQt4 not in PyQt5. 
 
Code : 
The code will show all these methods and helps in better understanding the differences. 
 

Python3
# importing the required libraries

from PyQt5.QtWidgets import * 
from PyQt5.QtCore import Qt
from PyQt5.QtGui import * 
import sys

class Window(QMainWindow):
    def __init__(self):
        super().__init__()

        # set the title
        self.setWindowTitle("Label")

        # setting  the geometry of window
        self.setGeometry(0, 0, 650, 400)

        # creating a label widget and setting properties
        self.label_1 = QLabel("Bottom", self)
        self.label_1.move(20, 100)
        self.label_1.resize(60, 60)
        self.label_1.setStyleSheet("border: 1px solid black;")

        # aligning label to the bottom
        self.label_1.setAlignment(Qt.AlignBottom)

        # creating a label widget and setting properties
        self.label_2 = QLabel("Center", self)
        self.label_2.move(90, 100)
        self.label_2.resize(60, 60)
        self.label_2.setStyleSheet("border: 1px solid black;")

        # aligning label to the center
        self.label_2.setAlignment(Qt.AlignCenter)

        # creating a label widget and setting properties
        self.label_3 = QLabel("Left", self)
        self.label_3.move(160, 100)
        self.label_3.resize(60, 60)
        self.label_3.setStyleSheet("border: 1px solid black;")

        # aligning label to the left
        self.label_3.setAlignment(Qt.AlignLeft)

        # creating a label widget and setting properties
        self.label_4 = QLabel("Right", self)
        self.label_4.move(230, 100)
        self.label_4.resize(60, 60)
        self.label_4.setStyleSheet("border: 1px solid black;")

        # aligning label to the right
        self.label_4.setAlignment(Qt.AlignRight)

        # creating a label widget and setting properties
        self.label_5 = QLabel("Top", self)
        self.label_5.move(300, 100)
        self.label_5.resize(60, 60)
        self.label_5.setStyleSheet("border: 1px solid black;")

        # aligning label to the top
        self.label_5.setAlignment(Qt.AlignTop)

        # creating a label widget and setting properties
        self.label_6 = QLabel("H center", self)
        self.label_6.move(370, 100)
        self.label_6.resize(60, 60)
        self.label_6.setStyleSheet("border: 1px solid black;")

        # aligning label to the Hcenter
        self.label_6.setAlignment(Qt.AlignHCenter)

        # creating a label widget and setting properties
        self.label_7 = QLabel("V center", self)
        self.label_7.move(440, 100)
        self.label_7.resize(60, 60)
        self.label_7.setStyleSheet("border: 1px solid black;")

        # aligning label to the Vcenter
        self.label_7.setAlignment(Qt.AlignVCenter)

        # show all the widgets
        self.show()


# create pyqt5 app
App = QApplication(sys.argv)

# create the instance of our Window
window = Window()

# start the app
sys.exit(App.exec())

Output : 
 

qt-alignment-pyqt5


 


Next Article
Article Tags :
Practice Tags :

Similar Reads