QCheckBox(复选框)
功能:QCheckBox用于创建一个复选框控件,允许用户从多个选项中选择多个。
属性:
- checkable:决定复选框是否可以被选中或取消选中。
- checked:表示复选框当前的选中状态(setChecked(bool):设置选中/非选中状态;isChecked():判断当前选中状态)。
- 可以设置文本、图标、工具提示等。
常用的信号与槽:
- stateChanged(int):当复选框的状态发生变化时发出。
- clicked(bool):当复选框被点击时发出。
使用场景:适用于需要用户从多个选项中选择多个的情况,如设置界面的多个选项开关。
QPushButton(普通按钮)
功能:QPushButton用于创建一个普通按钮,用户通过点击按钮来触发预定义的动作或事件。
属性:
- 可以显示文本标签、图标,或者两者同时显示。
- 支持自定义按钮的外观、行为以及与用户的交互逻辑。
常用的信号与槽:
clicked():当按钮被点击时发出。
使用场景:适用于用户界面中需要触发特定动作或事件的场景,如打开新窗口、关闭窗口、执行计算等。
QRadioButton(单选按钮)
功能:QRadioButton用于创建一个单选按钮控件,允许用户在多个选项中仅选择一个。
属性:
- 继承自QAbstractButton和QWidget,具有这两个类的所有属性和用法。
- 具有单选互斥功能,确保在同一组中的单选按钮中一次只能有一个被选中。
- 可以设置文本、图标等。
常用的信号与槽:
- toggled(bool):当单选按钮的选中状态发生变化时发出。
- clicked():当单选按钮被点击时发出。
使用场景:适用于需要用户从多个选项中选择一个的情况,如设置界面的单选选项。
联系与区别
联系:
- QCheckBox、QPushButton和QRadioButton都继承自QAbstractButton类,因此具有一些共同的属性和用法,如设置文本、图标等。
- 它们都支持Qt的信号与槽机制,可以通过连接信号和槽来实现用户交互。
区别:
- 功能不同:QCheckBox用于多选,QPushButton用于触发动作或事件,QRadioButton用于单选。
- 属性不同:QCheckBox具有checkable和checked属性,QPushButton主要关注按钮的点击事件,而QRadioButton则具有单选互斥功能。
- 使用场景不同:根据具体需求选择合适的控件类型。
注意:当QCheckBox和QRadioButton的状态发生改变时,内部自动调用setChecked(bool)方法设置其当前状态。不需要再手动设置(代码中调用setChecked(bool)设置)。
按钮簇