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()相當於具體的某個開關,控制這個開關是否可以點擊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM