打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
将QT中QRadioButton按钮从选中状态设置为未选中状态

笔者初学QT,在开发过程中,遇到了一个问题,比如说像下图这样的情况


假如要重新考试 那么对于软件来说,应该要做的一个措施就是,在用户点击Yes之后,将用户所有的已经选中的答案的状态设为未选中状态,那么怎样设置呢?我在想到这个问题的时候,也是不知所措,但这对于开发者来说便是一个需求,经过笔者不懈努力的查看文档,才发现:这种按钮你点击之前,它的属性是UnChecked,点击以后,属性会变成Checked,所以我们要做的就是,将它的属性变成UnChecked.
在Button的方法里面,有一个方法是setChecked(bool b)方法,这个方法的作用就是可以将它的属性设置为UnChecked属性,于是我知道以后,觉得这不是挺简单的嘛,于就有了下面这段代码

//m_button是一个QRadioButton的数组
for(int i=0;i<10;i++)
{
m_button[i]->setChecked(false);
}

我以为这样就结束了,但是我运行程序以后发现,事情并没有这么简单,所有的按钮并未像我所想的那样,成为未选中状态,这就有点无语了,难道是setChecked方法没用吗,当然不是,后来我想,之所以没效果,是因为setChecked方法相当于是初始化,新建一个按钮的时候,它的状态默认的是UnChecked,而你初始的时候已经是Checked状态了,所以即使调用了也不会改变它的值,瞅了一眼文档,和setChecked方法紧挨着有一个setCheckable方法,作用便是,设置按钮是否可选,如果是false,那么这个按钮你就点不了,既然一个按钮不可选中,那么它肯定是UnChecked状态的
因此我们可以将代码改成

for(int i=0;i<10;i++)
{
m_button[i]->setCheckable(false);
m_button[i]->setCheckable(true);
}

先将它设置为不可选中,使它的属性变为UnChecked状态,然后再将其设置为可选中,因此这样就能改变按钮的状态了!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【Qt开发】QSplitter的使用和设置
qt单选按钮的分组
【Qt设计中常见控件、布局选项和属性详解】
PyQt5基本控件详解之QPushButton(六)
QToolButton
怎么把照片设置成桌面
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服