In this article we will see how to get the size of push button. There basically two ways to get the size of push button. Let’s see both of them with examples.
Method 1: By using size
method.
This method will return the QSize object
which will tell the width and height of the push button.
Syntax : button.size()
Argument : It takes no argument.
Return : It returns QSize object.
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()
# method for widgets
def UiComponents( self ):
# creating a push button
button = QPushButton( "CLICK" , self )
# setting geometry of button
# rectangular shape i.e width > height
button.setGeometry( 200 , 150 , 150 , 40 )
# adding action to a button
button.clicked.connect( self .clickme)
# printing button size
print (button.size())
# action method
def clickme( self ):
# printing pressed
print ( "pressed" )
# create pyqt5 app App = QApplication(sys.argv)
# create the instance of our Window window = Window()
|
Output :
PyQt5.QtCore.QSize(150, 40)
Method 2: By using geometry
or rect
method.
These method will return the QRect object
which will tell the width and height of the push button as well as the position of push button.
Syntax :
button.geometry() button.rect()Argument : Both takes no argument.
Return : Both returns QRect object.
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()
# method for widgets
def UiComponents( self ):
# creating a push button
button = QPushButton( "CLICK" , self )
# setting geometry of button
# rectangular shape i.e width > height
button.setGeometry( 200 , 150 , 150 , 40 )
# adding action to a button
button.clicked.connect( self .clickme)
# printing button size
print (button.geometry())
print (button.rect())
# action method
def clickme( self ):
# printing pressed
print ( "pressed" )
# create pyqt5 app App = QApplication(sys.argv)
# create the instance of our Window window = Window()
|
Output :
PyQt5.QtCore.QRect(200, 150, 150, 40) PyQt5.QtCore.QRect(0, 0, 150, 40)
Note : Both geometry
and rect
method gives same result for size but the location will be different. geometry
will give location with respect to main window and rect
method will give location with respect to it self.