• 6542阅读
  • 4回复

[提问]关于qt控件选择置灰的问题 [复制链接]

上一主题 下一主题
离线csyay5
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-12
关键词: 求助QT4
    
    QGroupBox *DYSI_WIN = new QGroupBox(tr(""));
    QGridLayout *DYSI_WINLayout = new QGridLayout;

    checkBoxfre = new QCheckBox(tr("FREQUENCY"));
    connect( checkBoxfre , SIGNAL( clicked(bool)) , this , SLOT( checkBoxfrechange(bool)) );

void SubWeb::checkBoxfrechange(bool ps)
{
    if(ps == true)
    {

        Proper_WIN->setEnabled(true);
    }
    else if(ps == false)
    {
        Proper_WIN->setEnabled(false);
    }
}

定义了一个groupbox 一个checkbox
点击checkbox时候让groupbox置灰 再次点击使他又恢复
程序是编译过了,也能运行 但是点击checkbox时候发现段错误
有大神帮忙看下 怎么解决 最好代码详细点解释 谢谢了 难道是不能用槽函数来控制吗 还是groupbox需要也定义一个槽函数什么的
离线csyay5
只看该作者 1楼 发表于: 2012-04-12
    if(ps == true)
    {

      DYSI_WIN->setEnabled(true);
    }
    else if(ps == false)
    {
        DYSI_WIN->setEnabled(false);
    }
打错了一个控件 不好意思
离线csyay5
只看该作者 2楼 发表于: 2012-04-12
会的话帮下忙 大神们
离线jdwx

只看该作者 3楼 发表于: 2012-04-12
回 2楼(csyay5) 的帖子
void SubWeb::checkBoxfrechange(bool ps)
{
    if(ps == true)
    {

        Proper_WIN->setEnabled(true);
    }
    else if(ps == false)
    {
        Proper_WIN->setEnabled(false);
    }
}
问题在哪里没看出来,最好有全部代码。
不过这个函数实在太复杂了
可以简化一下

Proper_WIN->setEnabled(ps);

其实上面的槽根本不需要,因为Proper_WIN就有setEnabled槽
connect( checkBoxfre , SIGNAL( clicked(bool)) , Proper_WIN , SLOT(setEnabled (bool)) );
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线csyay5
只看该作者 4楼 发表于: 2012-04-12
恩 就是这样 谢谢了 connect( checkBoxfre , SIGNAL( clicked(bool)) , Proper_WIN , SLOT(setEnabled (bool)) );直接连接
快速回复
限100 字节
 
上一个 下一个