• 9631阅读
  • 5回复

[提问]关于QRADIOBUTTON的设计问题求助! [复制链接]

上一主题 下一主题
离线wter27
 
只看楼主 倒序阅读 楼主  发表于: 2011-01-24
1。我设计思路是这样的。有很多的radioButton,一旦滑动QScrollBar,马上检索radioButton是否处于被选中状态,如果已经被选择了,那么显示选择的是哪个,如果没有的话,要求所有的都处于不被选择的状态。
2。我在QScrollBar的VALUECHANGED的信号上关联了下面的方法,
ui->radioButton_2->setChecked(false);
但是只有在程序初始化的时候才起作用,即,这个时候没有被选中的,但只要选择了QRADIOBUTTON后,再发射VALUECHANGED的信号时ui->radioButton_2->setChecked(false);就不起作用了。。。


离线kimtaikee

只看该作者 1楼 发表于: 2011-01-24
何不换成CheckBox ?radioButton 是确保在一组radiobutton是始终会有一个被选中

离线wter27
只看该作者 2楼 发表于: 2011-01-24
回 1楼(kimtaikee) 的帖子
就是用RADIOBUTTON。只是不晓得为什么那个->radioButton_2->setChecked(false);不能够重复执行。
离线XChinux

只看该作者 3楼 发表于: 2011-01-24
第一次执行后,就disconnect开信号连接。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线wter27
只看该作者 4楼 发表于: 2011-01-24
回 3楼(XChinux) 的帖子
您说的方法我不太理解啊。
断开了信号槽那怎么再连接呢。我再表述下我的问题。即有A、B、C、D四个RADIOBUTTON,只能够选择一个。每次用QSCROLLBAR的VALUECHAGED(INT)返回当前的序号,只要发生VALUECHAGED(INT)的值改变的情况,那么就设置RADIOBUTTON为不选中的状态,我在VALUECHAGED(INT)对应的槽函数中写了->radioButton_2->setChecked(false)使得radiobutton为不选择状态,可是只有第一次是所有的radiobutton为不选择状态,以后再改变QSCROLLBAR的VALUE的时候就不管用了,这个什么情况,求斑竹了。。。
离线jdwx

只看该作者 5楼 发表于: 2011-01-25
radiobutton是分组的每组总有一个被选中,不可能全不选(初始化时除外),你要是真想实现你的想法就要变通一下,多放一个radiobutton,将其属性设置为不可见。发一个例子。
[ 此帖被jdwx在2011-01-25 11:14重新编辑 ]
附件: Q1.rar (3 K) 下载次数:13
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个