Qt5之QRadioButton
来源:互联网 发布:朝鲜核问题的影响 知乎 编辑:程序博客网 时间:2024/06/15 20:18
本例程介绍QRadioButton的使用,包括QRadioButton的分组、多个QRadioButton控件响应同一个槽函数、QRadioButton的ID设置从而避免繁琐的判断。
一、在UI界面添加如下控件:
二、对QRadioButton控件进行分组
QRadioButton的分组有多重方法,如采用组合框、QWidge等,下面介绍采用QButtonGroup方法来实现分组,好处是不影响QRadioButton在界面上的显示(组合框分组方式会在界面上出现组合框,要以自己的需要选择),以及方便ID的设置。
首先添加头文件:
- #include <QButtonGroup>
- QButtonGroup *btnGroupFruits;
- QButtonGroup *btnGroupVegetables;
- btnGroupFruits = new QButtonGroup(this);
- btnGroupFruits->addButton(ui->radioButton11, 0);
- btnGroupFruits->addButton(ui->radioButton12, 1);
- btnGroupFruits->addButton(ui->radioButton13, 2);
- ui->radioButton11->setChecked(true);
- btnGroupVegetables = new QButtonGroup(this);
- btnGroupVegetables->addButton(ui->radioButton21, 0);
- btnGroupVegetables->addButton(ui->radioButton22, 1);
- btnGroupVegetables->addButton(ui->radioButton23, 2);
- ui->radioButton21->setChecked(true);
在头文件声明槽函数:
- public slots:
- void onRadioClickFruits();
- void onRadioClickVegetables();
- connect(ui->radioButton11, SIGNAL(clicked()), this, SLOT(onRadioClickFruits()));
- connect(ui->radioButton12, SIGNAL(clicked()), this, SLOT(onRadioClickFruits()));
- connect(ui->radioButton13, SIGNAL(clicked()), this, SLOT(onRadioClickFruits()));
- connect(ui->radioButton21, SIGNAL(clicked()), this, SLOT(onRadioClickVegetables()));
- connect(ui->radioButton22, SIGNAL(clicked()), this, SLOT(onRadioClickVegetables()));
- connect(ui->radioButton23, SIGNAL(clicked()), this, SLOT(onRadioClickVegetables()));
QRadioButton的槽函数中,不需要逐个检查QRadioButton控件状态,仅仅通过btnGroupFruits->checkedId()来获知哪一个QRadioButton控件被选中,其返回被选中控件的ID值。
- void MainWindow::onRadioClickFruits()
- {
- switch(btnGroupFruits->checkedId())
- {
- case 0:
- qDebug() << QString::fromLocal8Bit("苹果");
- break;
- case 1:
- qDebug() << QString::fromLocal8Bit("西红柿");
- break;
- case 2:
- qDebug() << QString::fromLocal8Bit("芒果");
- break;
- }
- }
- void MainWindow::onRadioClickVegetables()
- {
- switch(btnGroupVegetables->checkedId())
- {
- case 0:
- qDebug() << QString::fromLocal8Bit("土豆");
- break;
- case 1:
- qDebug() << QString::fromLocal8Bit("青椒");
- break;
- case 2:
- qDebug() << QString::fromLocal8Bit("菠菜");
- break;
- }
- }
0 0
- Qt5之QRadioButton
- Qt5之QRadioButton
- Qt5之QRadioButton
- Qt之QRadioButton
- QT之qss教程- QRadioButton
- Qt5学习笔记——QRadioButton与QButtonGroup
- QT常用控件之QVBoxLayout,QRadioButton,QCheckBox,QMenu,QAction
- qradiobutton qbuttongroup
- QRadioButton 分组
- QRadioButton样式
- QT5 学习之路07---QT5事件
- qt5之学习QString
- Qt5类之QMargins
- QT5自学之路
- QT5之MYSQL操作
- Qt5之QLabel
- Qt5之QLCDNumber
- Qt5之QStackedWidget
- Eclipse安装Activiti Designer插件,报错的解决办法
- Struts中jsp和action中参数传递总结
- 1003 entropy encoder
- poj 2186 Popular Cows 强联通分量tarjan/Kosaraju
- HashCode和equal方法
- Qt5之QRadioButton
- LeetCode 228 Summary Ranges
- C++之多态性与虚函数
- hadoop入门教程-hdfs
- HDU 4336 Card Collector
- python指南笔记(1)
- My study note of PHP language(II)
- POJ 刷题指导及题目分类
- Struts2中action的Result--Type