13.PyQt5【基本组件】普通按钮-QPushButton

一、前言

在任何 GUI 设计中,命令按钮都是最重要和最常用的控件。任何计算机用户都熟悉带有保存、打开、确定、是、否和取消等作为标题的按钮。在 PyQt API 中,QPushButton类对象提供了一个按钮,当单击该按钮时,可以对其进行编程以调用某个功能。

QAbstractButton类是所有按钮的基类,QPushButton、QToolButton、QRadioButton、QcheckBox都继承自它,也就是说这四种控件拥有QAbstractButton类的所有属性和方法。

二、学习目标

1.QPushButton常用方法

2.QPushButton常用信号

3.QPushButton组件的应用

三、知识点

1.【QPushButton常用方法】

方法 描述
setCheckable() 设置按钮是否已经被选中,如果设置True,则表示按钮将保持已点击和释放状态
toggle() 在按钮状态之间进行切换
setIcon() 设置按钮上的图标
setEnabled() 设置按钮是否可以使用,当设置为False时,按钮变成不可用状态,点击它不会发射信号
isChecked() 返回按钮的状态,返回值为True或者False
setDefault() 设置按钮的默认状态
setText() 设置按钮的显示文本
text() 返回按钮的显示文本

2.【QPushButton常用信号】

信号 描述
pressed 当鼠标指针在按钮上并按下左键时触发该信号,一直按着或者按下并释放都会产生
released 当鼠标左键被释放时触发该信号
clicked 当鼠标左键被按下,一直按着或者释放时,或者快捷键被按着或者释放时触发该信号
toogled 当按钮的checkable设置为True时,其状态发生改变时触发该信号

3.【QPushButton组件的应用】

import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton


class QmyWidget(QWidget):

    def __init__(self, parent=None):
        super().__init__(parent)  # 调用父类的构造函数,创建QWidget窗体
        self.setupUi()

    def setupUi(self):
        """页面初始化"""
        # 设置窗体大小及标题
        self.resize(500, 400)
        self.setWindowTitle("QPushButton组件示例")
        # 创建布局
        self.layout = QVBoxLayout()

        # QPushButton组件示例
        self.button1 = QPushButton(self)
        self.button1.setText("第一个按钮")
        self.button2 = QPushButton('第二个按钮', self)
        # QPushButton组件设置
        self.button1.setEnabled(False)           # button1设置按钮不可用
        self.button2.setIcon(QIcon('logo.png'))  # button2设置按钮图标
        # QPushButton关联信号
        self.button2.clicked.connect(self.on_button2_clicked)  # button2按钮关联点击信号
        
        # 将组件添加到布局中
        self.layout.addWidget(self.button1)
        self.layout.addWidget(self.button2)
        # 为窗体添加布局
        self.setLayout(self.layout)

    def on_button2_clicked(self):
        """button2按钮点击槽函数"""
        print("button2按钮被点击啦!")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    myMain = QmyWidget()
    myMain.show()
    sys.exit(app.exec_())
  • 关键代码:

            # QPushButton组件示例
            self.button1 = QPushButton(self)
            self.button1.setText("第一个按钮")
            self.button2 = QPushButton('第二个按钮', self)
            # QPushButton组件设置
            self.button1.setEnabled(False)           # button1设置按钮不可用
            self.button2.setIcon(QIcon('logo.png'))  # button2设置按钮图标
            # QPushButton关联信号
            self.button2.clicked.connect(self.on_button2_clicked)  # button2按钮关联点击信号
    

    定义两个按钮组件,分别为button1设置不可点击,为button2设置按钮图标,并为button2关联点击信号。

posted @ 2023-01-16 10:40  测开星辰  阅读(357)  评论(0编辑  收藏  举报