Python旧版课程库
Python第 04 期 - 应用查看课程总览

110 图形化编程 - PyQt5 控件 3

    主要内容

  1. QPushButton介绍
  2. ToggleButton介绍
  3. QRadioButton介绍

完成效果

完成本节课程,能学会在窗口应用程序上使用按钮控件 效果如下:

收获

学习完本节内容,我们会知道如何创建QPushButton、ToggleButton、QRadioButton控件,以及了解它们各自的功能。

1.QPushButton介绍

PyQt5中按钮是一个QPushButton,可以提供一个点击的按钮来触发某一个事件。按钮可以显示图片或者文字。 以下是给应用窗口添加QPushButton按钮的简单示例:

# 注意,以下包都要导入,后面内容会用到
from PyQt5.QtWidgets import QWidget, QPushButton, QRadioButton, QApplication
import sys
from PyQt5.QtGui import QIcon

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):      
        button = QPushButton(self)  # 创建一个QPushButton对象
        button.setText('Download')  # 添加文本标签
        button.setIcon(QIcon('D:\\Python_Tips\\Dashima\\pics\\download.png'))  # 添加图标,路径根据图片实际储存位置调整
        button.move(50,50)  # 移动位置

        # 设置窗口的位置和大小,前两个参数表示离屏幕左上角的坐标,后两个参数表示窗口的大小
        self.setGeometry(300, 300, 500, 500)
        self.setWindowTitle('QPushButton')  # 设置窗口的标题
        self.show()  # 显示窗口
  

app = QApplication(sys.argv)    # 创建应用程序
ex = Example()  # 创建窗口对象
sys.exit(app.exec_())   # 设置关闭窗口后结束进程
拓展练习:请尝试更改图标为你喜欢的图片。

2.ToggleButton介绍

切换按钮就是`QPushButton`的一种特殊模式。 它只有两种状态:按下和未按下。我们再点击的时候切换两种状态,有很多场景会使用到这个功能。 鼠标点击按钮,按钮的背景色会改变,再次点击恢复初始颜色,代表在两种状态间切换。 以下是Toggle Button的简单示例:

    button = QPushButton(self)  # 创建一个QPushButton对象
    button.setCheckable(True)  # 调用setCheckable()的方法就把这个按钮变成了切换按钮。
    button.setText('Open')  # 添加文本,用来表示开/关
    button.move(50, 50)  # 移动位置
将这部分代码,复制到第一节PyQt5代码框架中的initUI中即可。 拓展练习:运行上述代码,鼠标多次点击按钮,观察按钮颜色的变化。

3.QRadioButton介绍

QRadioButton一般用于给用户提供若干选项中的单选操作,可以打开(选中)或关闭(取消选中)。 在一组单选按钮中,一次只能检查一个单选按钮;如果用户选择另一个按钮,则先前选择的按钮被关闭。 以下是QRadioButton的简单示例:

    rb1 = QRadioButton('地球',self) # 添加一个QRadioButton按钮,并设置文本为“地球”
    rb1.move(50,50)  # 移动位置
    rb2 = QRadioButton('火星',self) # 添加一个QRadioButton按钮,并设置文本“火星”
    rb2.move(50,100)  # 移动位置
    rb3 = QRadioButton('月球',self) # 添加一个QRadioButton按钮,并设置文本“月球”
    rb3.move(50,150)  # 移动位置
将这部分代码,复制到第一节PyQt5代码框架中的initUI中即可。 拓展练习:尝试更改按钮的文本为你想写的内容。

小结

  • 学习了如何创建QPushButton控件。
  • 学习了如何创建ToggleButton控件。
  • 学习了如何创建QRadioButton控件。
  • 习题

    1. 习题1:尝试创建一个“退出”的QPushButton按钮,并添加图标。
    2. 习题2:尝试创建五个QradioButton,名称设置为五种不同的编程语言名字。