分析21個 qt 隐藏功能和技巧是本文将要介紹的内容,一一詳細的羅列出來,以友善大家閱讀友善。
q_gadget:不需要從qobject繼承就可以使用qt的meta object功能
q_enums:對枚舉對象進行反射(reflection)
q_signal:不需要signals關鍵字就可以将一個函數指定為singal函數
q_slot:不需要slots關鍵字就可以将一個函數指定為slot函數
q_foreach:qt提供的關鍵字foreach在配置檔案裡面定義了no_keywords的時候就失效了,而q_foreach宏無論何時都有效
q_forever:原因同q_foreach,用法和關鍵字forever一樣
qchecksum:計算基于crc-16-ccitt算法的crc-16校驗碼
qcompress/quncompress:基于zlib的算法對位元組緩存區進行壓縮/解壓,可以自定義壓縮比
qdeleteall:對容器或者疊代器中的每個對象進行delete操作
qround/qround64:對浮點數取整,四舍五入
qfuzzycompare:線程安全的浮點數模糊比較,處理了浮點精度誤差的問題
qversion:擷取目前正在運作的qt的版本号
sender:在slot函數中調用可以擷取發送該signal的對象。僅用于來自同一線程的qt::directconnection連接配接的signal。由于這種做法破壞了面向對象的原則,慎用!
qsysinfo:擷取目前運作的系統資訊,包括版本号等,mac/symbian/windows均适用
qtendian:處理不同體系架構下位元組存儲次序不同的問題
qobject::findchildren<>:找出隐藏的子對象
qobject_cast:不需要編譯器rtti的支援就可以實作c++标準庫dynamic_cast的功能
qobject::deletelater:在事件處理循環中調用,則在事件處理循環結束時删除自己;在事件處理循環外調用,則在下一個事件處理循環開始時删除自己
qprintable:類似qstring::tolocal8bit()::constdata(),但是更好記
qdebug():類似windows下的trace或者outputdebugstring
connect(someobj, signal(foo()), signal(bar()):通過一個signal自動觸發另一個signal。
小結:分析21個 qt 隐藏功能和技巧的内容介紹完了,希望本文會對你有所幫助!