PyQt5 如何获得按钮的文本

  • Post category:Python

PyQt5 是Python中一个非常优秀和常用的GUI框架,通过它可以很方便地实现图形界面。在PyQt5中,比较常见的图形元素之一就是“按钮”,它通常用于触发特定的操作。

如果需要在PyQt5中获取一个按钮的文本,可以通过访问按钮的 text 属性来实现。具体的步骤如下:

  1. 找到需要获取文本的按钮,通常是在UI文件中或者动态生成的。
  2. 通过 QtWidgets.QPushButton.text() 方法来获取按钮的文本。

示例如下:

from PyQt5 import QtWidgets

class MyWindow(QtWidgets.QWidget):
    def __init__(self):
        super(MyWindow, self).__init__()
        # 创建一个按钮
        self.btn = QtWidgets.QPushButton("Click me", self)
        # 设置按钮位置和大小
        self.btn.setGeometry(20, 20, 100, 30)
        # 绑定按钮点击事件
        self.btn.clicked.connect(self.btn_clicked)

    def btn_clicked(self):
        # 获取按钮文本
        text = self.btn.text()
        print("按钮文本是:", text)

if __name__ == '__main__':
    app = QtWidgets.QApplication([])
    window = MyWindow()
    window.show()
    app.exec_()

在创建窗口时,我们实例化了一个按钮,并且在按钮点击事件的处理方法中使用了 text() 方法,通过它获取按钮的文本并在控制台中打印输出。运行程序后,当点击按钮时就会输出按钮的文本。

除此之外,还可以通过设置 QPushButtonobjectName 属性,来为按钮命名,并通过 findChild() 方法来获取按钮对象,并使用 text() 方法获取按钮的文本。代码示例如下:

from PyQt5 import QtWidgets

class MyWindow(QtWidgets.QWidget):

    def __init__(self):
        super(MyWindow, self).__init__()
        # 创建一个按钮
        self.btn = QtWidgets.QPushButton("Click me", self)
        # 设置按钮位置和大小
        self.btn.setGeometry(20, 20, 100, 30)
        # 设置按钮名称
        self.btn.setObjectName("my_btn")
        # 绑定按钮点击事件
        self.btn.clicked.connect(self.btn_clicked)

    def btn_clicked(self):
        # 查找名称为my_btn的按钮对象
        obj_btn = self.findChild(QtWidgets.QPushButton, "my_btn")
        # 获取按钮文本
        text = obj_btn.text()
        print("按钮文本是:", text)

if __name__ == '__main__':
    app = QtWidgets.QApplication([])
    window = MyWindow()
    window.show()
    app.exec_()

在这个示例中,我们在创建按钮时为它设置了名称“my_btn”,之后在按钮点击事件的处理方法中通过 findChild() 方法查找名称为“my_btn”的按钮对象,使用 text() 方法获取了按钮的文本并输出。