Qt Alignment in PyQt5
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 :
Contact Us