【Qt】常用控件QRadioButton

大柏怎么被偷了 2024-09-01 10:05:01 阅读 83

 常用控件QRadioButton

        QRadioButton是单选按钮,可以在多个选项中选择一个。

作为QAbstractButton和QWidget的子类,其属性和用法,对于QRadioButton同样适用。

属性 说明

checkable

是否能选中

checked

是否已经被选中. checkable 是 checked 的前提条件

autoExclusive

是否排他.

选中⼀个按钮之后是否会取消其他按钮的选中.

对于 QRadioButton 来说默认就是排他的.

"排他"的意思是是否支持单选或者是支持多选。

例子:选择性别 

可以添加默认选项

也可以禁用选项

但是checkable只是能够让按钮不被选中,但是仍然可以响应点击事件的,可以使用setEnabled或者setDisabled

例子:clicked、clicked(bool)、pressed、released、toggled的区别

【总结】

clicked 表⽰⼀次 "点击"pressed 表⽰⿏标 "按下"released 表⽰⿏标 "释放"toggled 表⽰按钮状态切换.

例子:基于QRadioButton实现一个简单的模拟点餐的功能

假设模拟汉堡点餐:

1.汉堡

1.1.鸡腿堡

1.2.牛肉堡

2.小食

2.1.薯条

2.2.鸡块

2.3.鸡翅

3.饮品

3.1.可乐

3.2.雪碧

通过Qt Designer的设计,可以对点餐系统进行初步完善

RadioButton默认是排他的,一旦界面上需要存在“多组”单选按钮的时候,希望组与组之间不要又影响。

Qt中提供了QButtonGroup类,可以针对单选按钮进行分组

代码实现:

<code>#include "widget.h"

#include "ui_widget.h"

#include<QButtonGroup>

Widget::Widget(QWidget *parent)

: QWidget(parent)

, ui(new Ui::Widget)

{

ui->setupUi(this);

//使用QButtonGroup对单选按钮进行分组

QButtonGroup* group1 = new QButtonGroup(this);

QButtonGroup* group2 = new QButtonGroup(this);

QButtonGroup* group3 = new QButtonGroup(this);

//将单选按钮放入各自的类中

group1->addButton(ui->radioButton);

group1->addButton(ui->radioButton_2);

group2->addButton(ui->radioButton_3);

group2->addButton(ui->radioButton_4);

group2->addButton(ui->radioButton_5);

group3->addButton(ui->radioButton_6);

group3->addButton(ui->radioButton_7);

}

Widget::~Widget()

{

delete ui;

}



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。