- Q_GADGET:不需要從QObject繼承就可以使用Qt的Meta Object功能
- Q_ENUMS:對(duì)枚舉對(duì)象進(jìn)行反射(reflection)
- Q_SIGNAL:不需要signals關(guān)鍵字就可以將一個(gè)函數(shù)指定為singal函數(shù)
- Q_SLOT:不需要slots關(guān)鍵字就可以將一個(gè)函數(shù)指定為slot函數(shù)
- Q_FOREACH:Qt提供的關(guān)鍵字foreach在配置文件里面定義了no_keywords的時(shí)候就失效了,,而Q_FOREACH宏無論何時(shí)都有效
- Q_FOREVER:原因同Q_FOREACH,,用法和關(guān)鍵字forever一樣
- qChecksum:計(jì)算基于CRC-16-CCITT算法的CRC-16校驗(yàn)碼
- qCompress/qUncompress:基于zlib的算法對(duì)字節(jié)緩存區(qū)進(jìn)行壓縮/解壓,可以自定義壓縮比
- qDeleteAll:對(duì)容器或者迭代器中的每個(gè)對(duì)象進(jìn)行delete操作
- qRound/qRound64:對(duì)浮點(diǎn)數(shù)取整,,四舍五入
- qFuzzyCompare:線程安全的浮點(diǎn)數(shù)模糊比較,,處理了浮點(diǎn)精度誤差的問題
- qVersion:獲取當(dāng)前正在運(yùn)行的Qt的版本號(hào)
- sender:在slot函數(shù)中調(diào)用可以獲取發(fā)送該signal的對(duì)象。僅用于來自同一線程的Qt::DirectConnection連接的signal,。由于這種做法破壞了面向?qū)ο蟮脑瓌t,,慎用,!
- QSysInfo:獲取當(dāng)前運(yùn)行的系統(tǒng)信息,,包括版本號(hào)等,Mac/Symbian/Windows均適用
- QtEndian:處理不同體系架構(gòu)下字節(jié)存儲(chǔ)次序不同的問題
- QObject::findChildren<>:找出隱藏的子對(duì)象
- qobject_cast:不需要編譯器RTTI的支持就可以實(shí)現(xiàn)C++標(biāo)準(zhǔn)庫dynamic_cast的功能
- QObject::deleteLater:在事件處理循環(huán)中調(diào)用,,則在事件處理循環(huán)結(jié)束時(shí)刪除自己,;在事件處理循環(huán)外調(diào)用,則在下一個(gè)事件處理循環(huán)開始時(shí)刪除自己
- qPrintable:類似QString::toLocal8Bit()::constData(),,但是更好記
- qDebug():類似Windows下的TRACE或者OutputDebugString
- connect(SomeObj, SIGNAL(foo()), SIGNAL(bar()):通過一個(gè)signal自動(dòng)觸發(fā)另一個(gè)signal,。
文中的內(nèi)容來自最近在StackOverflow上的一個(gè)討論。
|