QT之QPushButton中setEnabled() 和 setClickable() 的应用

        在使用QT与Opencv联调时,会经常遇到判断图像数据是否被读取,之后相应的PushButton等按键才能进行处理!

        这时,就需要使用setEnabled() 和 setClickable()等函数。

    if(image.data)
    {
        ui->saltButton->setEnabled(true);
        ui->originalButton->setEnabled(true);
        ui->reduceButton->setEnabled(true);
    }

 

      当setEnabled() 和 setClickable() 设置成false ,按钮就不可点击,设置成true,按钮就可以点击。

       它们的区别在于:

       setClickable():设置成true时,按钮为可点击,设置为false时,按钮不可点击,不能响应点击事件,但此时如果setEnabled()为true,那么按钮即使不可点击(setClickable()为false),也会产生变化(一闪一闪)。

       setEnabled():设置成true时,相当于激活了按钮,按钮的状态不再是死的,而是会对触摸或者点击产生反应,并且可以响应一些触发事件。而设置成false时,按钮是灰色的,无论是否可点击(即使将setClickable()设置成true),都无法响应任何触发事件。

      总的来看,setEnabled()相当于总开关,控制着按钮的状态,而setClickable()相当于具体的某个开关,控制这个开关是否可以点击。

posted @ 2019-07-25 10:48  盖世猪猪侠  阅读(15176)  评论(0编辑  收藏  举报