Qt的一些鮮為人知但是非常有用的小功能

2022-06-28 23:12:21 字數 1219 閱讀 4749

1. q_gadget:不需要從qobject繼承就可以使用qt的meta object功能

2. q_enums:對列舉物件進行反射(reflection)

3. q_signal:不需要signals關鍵字就可以將乙個函式指定為singal函式

4. q_slot:不需要slots關鍵字就可以將乙個函式指定為slot函式

5. q_foreach:qt提供的關鍵字foreach在配置檔案裡面定義了no_keywords的時候就失效了,而q_foreach巨集無論何時都有效

6. q_forever:原因同q_foreach,用法和關鍵字forever一樣

7. qchecksum:計算基於crc-16-ccitt演算法的crc-16校驗碼

8. qcompress/quncompress:基於zlib的演算法對位元組快取區進行壓縮/解壓,可以自定義壓縮比

9. qdeleteall:對容器或者迭代器中的每個物件進行delete操作

10. qround/qround64:對浮點數取整,四捨五入

11. qfuzzycompare:執行緒安全的浮點數模糊比較,處理了浮點精度誤差的問題

12. qversion:獲取當前正在執行的qt的版本號

13. sender:在slot函式中呼叫可以獲取傳送該signal的物件。僅用於來自同一執行緒的qt::directconnection連線的 signal。由於這種做法破壞了物件導向的原則,慎用!

14. qsysinfo:獲取當前執行的系統資訊,包括版本號等,mac/symbian/windows均適用

15. qtendian:處理不同體系架構下位元組儲存次序不同的問題

16. qobject::findchildren<>:找出隱藏的子物件

17. qobject_cast:不需要編譯器rtti的支援就可以實現c++標準庫dynamic_cast的功能

18. qobject::deletelater:在事件處理迴圈中呼叫,則在事件處理迴圈結束時刪除自己;在事件處理迴圈外呼叫,則在下乙個事件處理迴圈開始時刪除自己

19. qprintable:類似qstring::tolocal8bit()::constdata(),但是更好記

20. qdebug():類似windows下的trace或者outputdebugstring

21. connect(someobj, signal(foo()), signal(bar()):通過乙個signal自動觸發另乙個signal。

Qt的一些鮮為人知但是非常有用的小功能

1.q gadget 不需要從qobject繼承就可以使用qt的meta object功能 2.q enums 對列舉物件進行反射 reflection 3.q signal 不需要signals關鍵字就可以將乙個函式指定為singal函式 4.q slot 不需要slots關鍵字就可以將乙個函式指...

PHP裡10個鮮為人知但卻非常有用的函式

posted in 技術技巧 php裡有非常豐富的內建函式,很多我們都用過,但仍有很多的函式我們大部分人都不熟悉,可它們卻十分的有用。這篇文章裡,我列舉了一些鮮為人知但會讓你眼睛一亮的php函式。你有沒有經歷過需要知道兩個單詞有多大的不同的時候,這個函式就是來幫你解決這個問題的。它能比較出兩個字串的...

PHP裡10個鮮為人知但卻非常有用的函式

levenshtein 你有沒有經歷過需要知道兩個單詞有多大的不同的時候,這個函式就是來幫你解決這個問題的。它能比較出兩個字串的不同程度。用法 source get defined vars 這是乙個在debug除錯時非常有用的函式。這個函式返回乙個多維陣列,裡面包含了所有定義過的變數。用法 sou...