Qt PushButton的pressed,released,clicked三種響應的區別


Qt的PushButton的常用的三種響應有pressed,released和clicked。

優先級:pressed>released>clicked

按下按鈕pressed函數的內容,釋放按鈕先執行released函數的內容,再執行clicked函數的內容。

當鼠標光標在按鈕上時,鼠標左鍵被按下時,pressed()被發送;

當鼠標左鍵被釋放時,released()被發送;

當按鈕首先被按下然后又被釋放或者快捷鍵被按下,或者當animateClick()被調用時,clicked()被發送。

上圖MyButton中,QPushButton::mouseReleaseEvent(e)內部也不發出released和clicked信號

因為父類QPushButton的mousePressEvent中會作額外處理,會把一個down設置為true。
然后在mouseReleaseEvent中會檢查這個down是否為true,為true后才會發射released和clicked信號


免責聲明!

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



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