做阿里巴巴还是做网站好企业网站源码哪个好
做阿里巴巴还是做网站好,企业网站源码哪个好,电影网站app怎么做,尚城装修公司官网文章目录 1 属性和方法1.1 文本1.2 选中状态1.3 自动排他1.4 信号和槽 2 实例2.1 布局2.2 代码实现 Qt中的单选按钮类是QRadioButton它是一个可以切换选中#xff08;checked#xff09;或未选中#xff08;unchecked#xff09;状态的单选按钮单选按钮常用在“多选一”的场… 文章目录 1 属性和方法1.1 文本1.2 选中状态1.3 自动排他1.4 信号和槽 2 实例2.1 布局2.2 代码实现 Qt中的单选按钮类是QRadioButton它是一个可以切换选中checked或未选中unchecked状态的单选按钮单选按钮常用在“多选一”的场景也就是说在一组单选按钮中一次只能选中一个单选按钮比如性别中的“男女”二选一学历中的“博士/硕士/本科/其他”四选一等等。 1 属性和方法
QRadioButton有很多属性完整的可查看帮助文档。这里列出常用的属性和方法
1.1 文本
这两个是其父类QAbstractButton中的属性和方法因此QPushButton、QRadioButton、QCheckBox都具有该属性
// 获取和设置显示的文本
QString text() const;
void setText(const QString text);1.2 选中状态
// 获取和设置单选按钮的选中状态
bool isChecked() const;
void setChecked(bool);可见切换单选按钮的选中状态有两种方式
通过鼠标点击实现在代码中使用setChecked(bool)来实现
1.3 自动排他
我们前面说过单选按钮实现的是“多选一”因此单选按钮的该属性默认是使能的
// 获取和设置自动排他
bool autoExclusive() const;
void setAutoExclusive(bool);而对于多选按钮也叫复选按钮-QCheckBox通常的场景是用户选择一组按钮中的多个因此该属性默认是禁能的。
综合以上“多选一”要满足以下两个条件
把同一组的单选按钮放在同一个布局中。不同的组的单选按钮放在不同的布局中选按钮的autoExclusive属性设置为true单选按钮的该属性默认是使能的。可在右侧的属性按钮中看到如下
1.4 信号和槽
按钮在按下和抬起的过程中会发射多个信号。
// 单选按钮 QRadioButton 被点击时会发出该信号
void clicked();// 当单选按钮的选中状态发送改变时会发射信号
// 所谓状态改变是指选中变为非选中和非选中变为选中
void toggled(bool checked);2 实例
该案例演示单选按钮的属性以及信号槽 2.1 布局
在Ul设计师界面拖拽对应的控件修改显示的文字、控件的name然后完成布局 2.2 代码实现
// 在widget.cpp 中#include widget.h#include ui_widget.hWidget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);// 设置第二组默认显示ui-rbMale2-setChecked(true);ui-rbDoctor2-setChecked(true);// 设置第三组默认显示ui-rbMale3-setChecked(true);ui-rbDoctor3-setChecked(true);ui-leResult3-setText(ui-rbMale3-text() ui-rbDoctor3-text());// 按钮分组mBtnGroupGender new QButtonGroup(this);mBtnGroupGender-addButton(ui-rbMale4, 0);mBtnGroupGender-addButton(ui-rbFemale4, 1);mBtnGroupEdu new QButtonGroup(this);mBtnGroupEdu-addButton(ui-rbDoctor4, 10);mBtnGroupEdu-addButton(ui-rbMaster4, 11);mBtnGroupEdu-addButton(ui-rbBachelor4, 12);mBtnGroupEdu-addButton(ui-rbOther4, 13);// 设置第四组默认显示ui-rbMale4-setChecked(true);ui-rbDoctor4-setChecked(true);ui-leResult4-setText(ui-rbMale4-text() ui-rbDoctor4-text());connect(ui-rbMale4, QRadioButton::clicked, this,Widget::onRadioButtonClicked);connect(ui-rbFemale4, QRadioButton::clicked, this,Widget::onRadioButtonClicked);connect(ui-rbDoctor4, QRadioButton::clicked, this,Widget::onRadioButtonClicked);connect(ui-rbMaster4, QRadioButton::clicked, this,Widget::onRadioButtonClicked);connect(ui-rbBachelor4, QRadioButton::clicked, this,Widget::onRadioButtonClicked);connect(ui-rbOther4, QRadioButton::clicked, this,Widget::onRadioButtonClicked);
}Widget::~Widget() {delete ui;
}void Widget::on_pushButton_clicked() {QString s;// 获取男女的选中if (ui-rbMale3-isChecked()) {s ui-rbMale3-text();} else if (ui-rbFemale3-isChecked()) {s ui-rbFemale3-text();}// 学历的选中if (ui-rbDoctor3-isChecked()) {s ui-rbDoctor3-text();} else if (ui-rbMaster3-isChecked()) {s ui-rbMaster3-text();} else if (ui-rbBachelor3-isChecked()) {s ui-rbBachelor3-text();} else if (ui-rbOther3-isChecked()) {s ui-rbOther3-text();}// 显示到文本框ui-leResult3-setText(s);
}void Widget::onRadioButtonClicked() {QString s;int checkedGenderId mBtnGroupGender-checkedId();if (checkedGenderId 0) {s 男;} else if (checkedGenderId 1) {s 女;}int checkedEduId mBtnGroupEdu-checkedId();if (checkedEduId 10) {s 博士;} else if (checkedEduId 11) {s 硕士;} else if (checkedEduId 12) {s 本科;} else if (checkedEduId 13) {s 其他;}ui-leResult4-setText(s);
}void Widget::on_rbMale4_toggled(bool checked) {qDebug() rbMale4 status changed checked;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/88035.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!