当前位置:编程学习 > wap >>

学习资料:21个Qt隐藏功能和技巧

最近看了stackoverflow上一个讨论,写了篇blog,列举了Qt的一些鲜为人知但是非常有用的小功能:

   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。

如果要看原文的话在这里:http://blog.csdn.net/aladdina/archive/2010/05/23/5618247.aspx

大家还有啥补充或者建议吗?
--------------------编程问答-------------------- 不错是不错,但真的很难记呢 --------------------编程问答-------------------- 写的不错,建议对每一条的使用场合再举个例子,就完美了。 --------------------编程问答-------------------- 不错,学习学习 --------------------编程问答-------------------- 恩,很好,有些在用,呵呵
很希望论坛里有人能总结一些开发经验和方法,可惜我现在很忙,没时间总结,再加上我用Qt也不是很长时间,呵呵 --------------------编程问答-------------------- 除了 

11. qFuzzyCompare:线程安全的浮点数模糊比较,处理了浮点精度误差的问题

其他都知道。 HOHO --------------------编程问答--------------------
引用 5 楼 dext 的回复:
除了 

11. qFuzzyCompare:线程安全的浮点数模糊比较,处理了浮点精度误差的问题

其他都知道。 HOHO


赞!那有没有啥补充的呢? --------------------编程问答-------------------- up! --------------------编程问答-------------------- 8错8错,不过有些都不知道怎么用呢 --------------------编程问答-------------------- 不错 支持 --------------------编程问答-------------------- 不错,收藏了 --------------------编程问答-------------------- qCompress/qUncompress
connect
qDebug
用过,其它的还没用过 --------------------编程问答-------------------- 准备结贴了 --------------------编程问答--------------------
小技巧多了点

-------------------

引用 5 楼 dext 的回复:
除了 

11. qFuzzyCompare:线程安全的浮点数模糊比较,处理了浮点精度误差的问题

其他都知道。 HOHO

HOHO,好厉害 --------------------编程问答-------------------- 这个 , 貌似没用过 --------------------编程问答-------------------- 顶一下 收藏 学习哦 --------------------编程问答-------------------- fdf --------------------编程问答-------------------- 很希望论坛里有人能总结一些开发经验和方法 --------------------编程问答-------------------- 学习了....... --------------------编程问答-------------------- 学习了 谢谢 --------------------编程问答-------------------- 谢谢了哈,正在学习呢! --------------------编程问答-------------------- 学习 jfjfjfjfjfjf --------------------编程问答-------------------- xuexi --------------------编程问答-------------------- ===================================== --------------------编程问答-------------------- 不错啊,。。。。。。。。。。。。。。 --------------------编程问答-------------------- kan kan  --------------------编程问答-------------------- 才疏了··· --------------------编程问答-------------------- 嘿嘿 可惜不懂呀 --------------------编程问答-------------------- 好东西,还真是不懂,哎,,知识面太窄了..慢慢学,., --------------------编程问答-------------------- 学习资料:21个Qt隐藏功能和技巧 [Qt] --------------------编程问答-------------------- 恩,很好,有些在用,呵呵
很希望论坛里有人能总结一些开发经验和方法,可惜我现在很忙,没时间总结,再加上我用Qt也不是很长时间,呵呵 --------------------编程问答-------------------- 学习中。。。。。。 --------------------编程问答-------------------- 顶。。。。。 --------------------编程问答-------------------- 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶 --------------------编程问答-------------------- 可以啊 --------------------编程问答-------------------- 多谢版主推荐! --------------------编程问答-------------------- 不错,收藏了 --------------------编程问答-------------------- fdsafdsfdsafdsafdsafsda --------------------编程问答-------------------- 学习学习 --------------------编程问答-------------------- 不错啊,顶你了 --------------------编程问答-------------------- 好好学习 --------------------编程问答-------------------- 好东西 --------------------编程问答-------------------- 顶一下 --------------------编程问答-------------------- 路过,不懂,帮楼主顶一下 --------------------编程问答-------------------- 有点复杂。。。 --------------------编程问答-------------------- 看看再说 --------------------编程问答-------------------- 学习学习 --------------------编程问答-------------------- 学习-促进-提高- --------------------编程问答-------------------- 我顶+++++分。88 --------------------编程问答-------------------- 学习了,慢慢就会了 --------------------编程问答-------------------- 学习ing --------------------编程问答-------------------- 好好学习 --------------------编程问答-------------------- 谢谢分享~~~~~~~

--------------------编程问答-------------------- 偶新来的,学习学习 --------------------编程问答-------------------- --------------------编程问答-------------------- 不错,支持下^ --------------------编程问答-------------------- 顶一个,呵 --------------------编程问答-------------------- 呵呵 学习下 --------------------编程问答-------------------- 比较多啊,学习中 --------------------编程问答-------------------- 不错~~~~~~~~~~~~~~~ --------------------编程问答-------------------- 不错,收藏了 --------------------编程问答-------------------- 顶一个 --------------------编程问答-------------------- 学习下 --------------------编程问答-------------------- float InvSqrt(float x){
   float xhalf = 0.5f * x;
   int i = *(int*)&x; // store floating-point bits in integer
   i = 0x5f3759d5 - (i >> 1); // initial guess for Newton's method
   x = *(float*)&i; // convert new bits into float
   x = x*(1.5f - xhalf*x*x); // One round of Newton's method
   return x;
}

--------------------编程问答-------------------- 来学习的 --------------------编程问答-------------------- 不错是不错,但真的很难记呢 --------------------编程问答-------------------- 学习了、、、 --------------------编程问答-------------------- xiexie 学习了 --------------------编程问答-------------------- 好难呀 --------------------编程问答-------------------- --------------------编程问答-------------------- ding --------------------编程问答-------------------- 14. QSysInfo:获取当前运行的系统信息,包括版本号等,Mac/Symbian/Windows均适用

⊙﹏⊙b汗!~~ 不知道能否取到cpuid,试试去!~~~~ --------------------编程问答-------------------- 学习了,谢谢 --------------------编程问答-------------------- 没研究过。。 学习了~ --------------------编程问答-------------------- 写的不错 --------------------编程问答-------------------- 我刚学QT,觉得这个还不错,很好! --------------------编程问答-------------------- 学习了,多谢 --------------------编程问答-------------------- 好啊,学习中 --------------------编程问答-------------------- 路过,不懂,帮楼主顶一下 --------------------编程问答-------------------- 学习中...... --------------------编程问答-------------------- 学习中...... --------------------编程问答-------------------- 学习一下。 --------------------编程问答-------------------- 学习一下。 --------------------编程问答-------------------- 未涉猎,学习了~~ --------------------编程问答-------------------- QT没有用过,了解一下 --------------------编程问答-------------------- 学习了,谢谢分享 --------------------编程问答-------------------- 了解一下 --------------------编程问答-------------------- xue xi  --------------------编程问答-------------------- 不 知道有 什么 用 --------------------编程问答-------------------- 顶一个,顶一个 --------------------编程问答-------------------- 学习了`

--------------------编程问答-------------------- 学习了。。。 --------------------编程问答-------------------- 以前真不知道,回去试试 --------------------编程问答-------------------- 好东西,谢谢楼主! --------------------编程问答-------------------- www.sosojj.cn 
专业提供运动鞋批发.主要有:耐克新款_匡威帆布鞋-阿迪达斯鞋—Adidas阿迪达斯、Converse匡威帆布鞋运动鞋_运动鞋品牌_耐克新款_耐克运动鞋_阿迪达斯运动鞋品牌大全_Puma彪马等高仿鞋批发,精仿鞋批发品牌板鞋_跑鞋_篮球鞋http://orggov.cn/xie/ 
运动鞋批发.主要有:耐克新款_匡威帆布鞋-阿迪达斯鞋—Adidas阿迪达斯、Converse匡威帆布鞋 --------------------编程问答-------------------- 好难啊
--------------------编程问答-------------------- 需要些例子~ --------------------编程问答-------------------- 谢谢楼主分想,不错哦, 顶下!!!!! --------------------编程问答-------------------- 不懂。。。 --------------------编程问答-------------------- 打酱油的 --------------------编程问答-------------------- 学习一下先。。。虽然暂时没有用到这个东东。。。。
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,