跳至正文
View Categories

< 1 min read

    主要内容 #

  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,名称设置为五种不同的编程语言名字。