首页 > 其他分享 >13.PyQt5【基本组件】普通按钮-QPushButton

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

时间:2023-01-16 10:58:25浏览次数:48  
标签:13 设置 self PyQt5 button2 button1 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关联点击信号。

标签:13,设置,self,PyQt5,button2,button1,QPushButton,按钮
From: https://www.cnblogs.com/ckxingchen/p/17054868.html

相关文章

  • 15.PyQt5【基本组件】复选按钮-QCheckBox
    一、前言当文本标签前出现一个矩形框时QCheckBox对象被添加到父窗口。就像QRadioButton一样,它也是一个可选择的按钮。它的常见用途是在要求用户选择一个或多个可用选项......
  • 16.PyQt5【基本组件】下拉列表-QComboBox
    一、前言QComboBox提供一个下拉列表,其中包含可供选择的项目。只显示当前选定的项目所需的窗体上的最小屏幕空间。二、学习目标1.QComboBox常用方法2.QComboBox常用信......
  • 18.PyQt5【基本组件】进度条对话框-QProgressDialog
    一、前言QProgressDialog进度对话框,向用户提示程序中当前任务的进度信息,用以提示当然任务正在进行,并按百分比显示进度。对话框提供了一个取消按钮,用以向用户提供终止操......
  • 17.PyQt5【基本组件】滑块-QSlider
    一、前言QSlider类对象向用户展示了一个可以移动手柄的凹槽。它是控制有界值的经典小部件。凹槽上手柄的位置相当于控件上下限之间的整数。通过在构造函数中提及方向,可以......
  • 19.PyQt5【基本组件】消息对话框-QMessageBox
    一、前言QMessageBox是一种常用的模态对话框,用于显示一些信息性消息,并可选择要求用户通过单击其上的任何一个标准按钮来做出响应。每个标准按钮都有一个预定义的标题、一......
  • 20.PyQt5【基本组件】输入对话框-QInputDialog
    一、前言这是一个预配置的对话框,带有一个文本字段和两个按钮,确定和取消。用户单击Ok按钮或按Enter后,父窗口收集文本框中的输入。用户输入可以是数字、字符串或列表中......
  • 22.PyQt5【高级组件】列表组件-QListWidget
    一、前言QListWidget用于从列表中添加或删除项目。列表中的每个项目都是一个QListWidgetItem对象。ListWidget可以设置为多选。二、学习目标1.QListWidget常用方法2......
  • 21.PyQt5【基本组件】文件对话框-QFileDialog
    一、前言QFileDialog小部件是一个文件选择器对话框。它使用户能够浏览文件系统并选择要打开或保存的文件。对话框通过静态函数或调用调用exec_()对话框对象上的函数。二......
  • 23.PyQt5【高级组件】表格组件-QTableWidget
    一、前言QTableWidget是常用的显示数据表格的控件,使用QTableWidget时就需要QTableWidgetItem。用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的。二、学......
  • 25.PyQt5【高级组件】选项卡-QTabWidget
    一、前言如果表单有太多需要同时显示的字段,可以将它们排列在不同的页面中,放置在选项卡式小部件的每个选项卡下。提供了一个标签栏和一个页面区域。显示第一个选项卡下的页......