博客
关于我
QT中获取选中的radioButton的两种方法
阅读量:477 次
发布时间:2019-03-07

本文共 1545 字,大约阅读时间需要 5 分钟。

QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行:

方法一:采用对象名称进行获取

代码:

复制代码

1     QRadioButton* pbtn = qobject_cast
(ui->BG->checkedButton()); 2 QString name = pbtn->objectName(); 3 if(!QString::compare(name, "radioButton")) 4 { 5 QMessageBox::information(this, "Tips", "red chosed!", QMessageBox::Ok); 6 } 7 else if(!QString::compare(name, "radioButton_2")) 8 { 9 QMessageBox::information(this, "Tips", "blue chosed!", QMessageBox::Ok);10 }11 else12 {13 QMessageBox::information(this, "Tips", "black chosed!", QMessageBox::Ok);14 }

复制代码

该代码片段中,首先使用qobject_cast将checkedButton()函数返回的QAbstractionButton转换为其子类类型QRadioButton.然后,获取被选中按钮的对象名。这可以通过获取objectName这个属性获取。再稍作判断即可得知结果。注:BG是手动添加的QGroupButton类型,radioButton和radioButton_2,radioButton_3都是UI中添加的radioButton控件。

方法二:通过button的ID来获取

代码:

位于构造函数中的代码(初始选中第一个按钮):

1     ui->BG->setId(ui->radioButton, 0);2     ui->BG->setId(ui->radioButton_2, 1);3     ui->BG->setId(ui->radioButton_3, 2);4     ui->radioButton->setChecked(true);

这一步是必须的,必须先设置好radiobutton组中各个按钮的ID值,否则会导致程序崩溃。

响应信号的槽函数或其他函数中的代码:

复制代码

1     int a = ui->BG->checkedId(); 2     switch(a) 3     { 4     case 0: 5         QMessageBox::information(this, "Tips", "Red chosed!", QMessageBox::Ok); 6         break; 7     case 1: 8         QMessageBox::information(this, "Tips", "blue chosed!", QMessageBox::Ok); 9         break;10     case 2:11         QMessageBox::information(this, "Tips", "black chosed!", QMessageBox::Ok);12         break;13     default:14         break;15     }

复制代码

两种方法具有同样的效果。

转载地址:http://mwrdz.baihongyu.com/

你可能感兴趣的文章
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
node exporter完整版
查看>>
node HelloWorld入门篇
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node JS: < 二> Node JS例子解析
查看>>
Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime(72)
查看>>
Node 裁切图片的方法
查看>>
Node+Express连接mysql实现增删改查
查看>>
node, nvm, npm,pnpm,以前简单的前端环境为什么越来越复杂
查看>>
Node-RED中Button按钮组件和TextInput文字输入组件的使用
查看>>
vue3+Ts 项目打包时报错 ‘reactive‘is declared but its value is never read.及解决方法
查看>>
Node-RED中Switch开关和Dropdown选择组件的使用
查看>>
Node-RED中使用html节点爬取HTML网页资料之爬取Node-RED的最新版本
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用node-red-contrib-image-output节点实现图片预览
查看>>
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>