📜  PyQt5 - 获取按钮的大小

📅  最后修改于: 2022-05-13 01:55:49.431000             🧑  作者: Mango

PyQt5 - 获取按钮的大小

在本文中,我们将了解如何获取按钮的大小。基本上有两种方法可以获得按钮的大小。让我们用例子来看看它们。

方法一:使用size法。

此方法将返回QSize object ,该对象将告诉按钮的宽度和高度。

代码 :

# 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()

输出 :

PyQt5.QtCore.QSize(150, 40)


方法2:使用geometryrect方法。

这些方法将返回QRect object ,该对象将告诉按钮的宽度和高度以及按钮的位置。

代码 :

button.geometry()
button.rect()

输出 :

# 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()

注意: geometryrect方法都给出相同的大小结果,但位置会不同。 geometry将给出相对于主窗口的位置,而rect方法将给出相对于它自身的位置。