QT真是个好东西啊

时间:2022-12-20 04:06:35

原先就听说QT做界面很强大,大概半年前也下载来试过,后来发现不知道怎么在VS下面用,自带的Creator又不顺手,最关键的是没需求,所以就没继续。后来自己想做些小工具的时候,发现没界面真是各种蛋疼啊,但是又不想去学那恶心的MFC,有些工具就直接用WINAPI搞定了。


最近开始弄QT是因为刚学WINAPI那会就对桌面精灵那些玩意特别感兴趣,特别想自己弄一个,事实上也弄出来了一个简陋的,但是有个致命的,在不同电脑上可能会出现定时器失效的严重BUG(事实上在release的时候是完全不动了),现在也懒得去搞清楚怎么回事。而当时最费力的就是半透明窗体的实现,当时是用一种颜色作为透明色,是不支持半透明的,效果不怎么好,后来网上找到一种使用GDI+实现PNG半透明窗口,心想总算找到解决方案,但后来失望的发现,在拖动窗口时,非常不流畅,而且还会出现图片被割掉一部分的情况,不知道是不是传说中的GDI+效率低的原因。


最近发现QT可以做半透明窗体,具体可以看这里,瞬间觉得有戏,于是开始继续之前的梦想。随着接触的东西多了,搭配环境也比以前顺手,很快就能在VS下使用了。之后才发现真是相见恨晚!QT容易到难以想象,想到之前跟一个十多年游戏经验的家伙提到QT,后来那家伙感叹QT改变了他的世界观,我大概也就是这种想法。


QT给人的感觉就是,你怎么用基本上都是对的,不像WINAPI,你感觉你都弄对了,就是出不来效果,一堆参数,一个参数也不能错,每个参数都得仔细研究。

为什么以前没想到用QT?以前一直认为,QT这种跨平台的东西,因为需要考虑到每个平台的实现,所以像透明窗口那样的高级特效是应该不支持的,而且还因为之前去查了下wxWidgets是否能做,发现貌似只能透明窗口,没啥用,所以认为QT也应该没有,加之听说QT效率不行(以前对于效率这种东西的认知明显是片面的),不想研究。总之,功能上太小看QT,然后性能上,事实上很多时候够用就好了。


桌面精灵的技术总算是攻破了大半,剩下就是封装和实现,如果弄好了打算分享一下。另外还做了个QT里执行HGE的,因为以前一直对用现有引擎做动画编辑器的技术感兴趣,目前感觉30帧应该没问题,做动画编辑器应该是没问题了,不过感觉HGE是要过气的引擎了,有时间再深入吧,没时间就算了。