QT 濫用訊號槽

2022-09-09 05:51:09 字數 445 閱讀 3458

最近公司培訓寫專案用的qt,一直覺得qt的訊號槽是個好東西,程式設計效率很高。

導致我一直盲目的使用訊號槽。也不是不知道訊號槽的執行效率相比直接呼叫而言低很多(10倍左右),只是覺得又不是特殊環境,就一直濫用訊號槽,其實很多地方,直接呼叫就行,但是腦子已經僵化,閉著眼就用上訊號槽了。

如今還是這個專案,只不過現在這個功能需要的精度比較高,而且是在短時間內大量重複執行,訊號槽低效率一下子就暴露出來了,導致誤差越來越大。我看了下**,發現其實完全可以直接呼叫,也並不是要專門儲存對應的變數,或者其實已經儲存了。

一下子讓我感到汗顏,坐立難安。我沒想到我的思想已經如此懶惰。前期偷下的懶,後期都是要還的,而且是百倍奉還。無論是架構設計,還是邏輯處理,都應盡早想全、做全,萬萬不可抱著「暫時就這樣用著吧」、「後面再有額外需要,再抽出來吧」、「這裡有點問題,暫時簡單處理下,後面再堆邏輯的時候再處理」等等這種想法去做任何事。以此文章,警惕自己。

qt 槽與訊號

槽就是乙個可以被呼叫處理特定訊號的函式 乙個小的qt類如下 class foo public qobject public slots void setvalue int signals void valuechanged int private int val qt中的元物件系統是用來處理物件間通...

Qt訊號和槽

qt將訊號和槽關聯起來的connect使用時需要注意帶相應的引數,否則會出現訊號發出後不能呼叫槽的問題,例子如下 發出訊號的宣告 signals void receiveddata uchar dat,uint len 接收訊號的槽宣告 private slots void getdata ucha...

QT訊號與槽

初學qt,覺得理解qt訊號與槽比較重要,qt很多時候都需要用到訊號和槽。發射訊號會觸發相對應的槽函式的執行。乙個訊號可以對應多個槽,多個訊號可以對應乙個槽。訊號和槽是通過connect這個方法進行建立聯絡的。qt中有些類會自帶有一些訊號和槽函式,當然訊號和槽函式也可以自己定義。下面來看下很簡單的 會...