跳至正文
View Categories

< 1 min read

    主要内容 #

  1. QComboBox介绍
  2. QCheckBox介绍
  3. QSpinBox介绍

完成效果 #

完成本节课程,能学会在窗口应用程序上使用复选框和检查框和计数器控件。
效果如下:

收获 #

学习完本节内容,我们会知道如何创建QComboBox、QCheckBox、QSpinBox控件,以及它们各自的功能。

1.QComboBox介绍 #

QComboBox 控件能让用户在多个选择项中选择一个。
以下是QComboBox的简单示例:

# 注意,以下包都要导入,后面内容会用到
from PyQt5.QtWidgets import QWidget, QComboBox, QCheckBox, QSpinBox, QApplication
import sys

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

    def initUI(self):      
        combo = QComboBox(self) # 创建一个QComboBox对象
        # 设置下拉选择框有五个选项,每一个都是Linux发行版的名称
        combo.addItem("Ubuntu")     # 添加下拉选择框,并设置名称,下同
        combo.addItem("Mandriva")
        combo.addItem("Fedora")
        combo.addItem("Arch")
        combo.addItem("Gentoo")
        combo.move(50, 50)          # 移动位置

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

app = QApplication(sys.argv)    # 创建应用程序
ex = Example()  # 创建窗口对象
sys.exit(app.exec_())   # 设置关闭窗口后结束进程

拓展练习:请尝试更改上述5个选项的名称。

2.QCheckBox介绍 #

QCheckBox控件有俩状态:开和关。通常跟标签一起使用,用在激活和关闭一些选项的场景。
以下是QCheckBox的简单示例:

    # 创建一个切换窗口标题的单选框
    cb = QCheckBox('Show title', self)
    cb.move(20, 20) # 移动位置
    cb.toggle() # 初始情况下,让为单选框为勾选状态

将这部分代码,复制到第一节PyQt5代码框架中的initUI中即可。
拓展练习:请尝试更改单选框的标签。

3.QSpinBox介绍 #

QSpinBox是一个计数器控件,允许用户选择一个整数通过上下按键递增或者递减;
默认0-99范围,每次自增长1。
以下是QSpinBox的简单示例:

    spinbox = QSpinBox(self)    # 创建一个计数器控件
    spinbox.setMinimum(2)       # 设置计数器的下界
    spinbox.setMaximum(100)     # 设置计数器的上界
    spinbox.setSingleStep(20)   # 设置计数器的步长值,步长为20代表每次计数值增加20

将这部分代码,复制到第一节PyQt5代码框架中的initUI中即可。
拓展练习:运行这段代码,用鼠标点击窗口中的向上箭头或者向下箭头,观察计数值的变化规律。

小结 #

  • 学习了如何创建QComboBox控件。
  • 学习了如何创建QCheckBox控件。
  • 学习了如何创建QSpinBox控件,并自定义计数规则。
  • 习题 #

    1. 习题1:尝试创建包含六个不同国家名称的下拉选择框。
    2. 习题2:尝试创建一个起始值为0,终值为1000,步长为100的计数器