• 10302阅读
  • 22回复

[原创]细数Qt开发的各种坑(欢迎围观) [复制链接]

上一主题 下一主题
离线liudianwu
 

只看楼主 倒序阅读 楼主  发表于: 2016-12-16
1:Qt的版本多到你数都数不清,多到你开始怀疑人生。从4.6开始到5.8,从MSVC编译器到MINGW编译器,从32位到64位,从Windows到Linux到MAC。MSVC版本还必须安装对应的VS2005 VS2008 VS2010 VS2013 VS2015,MINGW版本必须安装不小于某个版本号的Mingw编译器。很多人一看官网的下载链接,就蒙圈了,到底应该选择哪一个进行下载开发呢。本人就在四块硬盘上安装了七八个操作系统安装了十几个Qt开发环境。

2:Qt各种乱码问题(不只是Qt的问题,这是IT界的问题,什么utf-8带BOM,什么MSVC默认是GBK编码,什么回车换行符\r\n),困扰Qter一生,有时候解决了界面乱码,输出又出乱码了,解决了输出乱码,界面又乱码了,打印也乱码,显示的那些火星文他妈的谁懂啊,坑爹坑死你。

3:Qt4到Qt5版本的巨大改动,让很多Qt4时代的代码不能正常在Qt5环境中编译,导致网上各种初学者下载到的Qt4代码编译没有一个通过的人丧失信心,甚至又开始怀疑人生,网上都是骗人的又一次浮现脑海。

4:为了能够做到开发跨平台应用,不得不安装几块硬盘,安装七八个操作系统,虚拟机的坑使得必须安装真机环境才能测试出真实效果,最基本的你必须安装windows XP,WIN7 32位 64位,WIN8,WIN8.1 WIN10 32位 64位,ubuntu 14.04 15.04 16.04,S3C6410 335 A8 A9各种交叉编译环境,还得单独安装一个干净的XP或者WIN7用于开发android(本人试过N次,在原有的安装了很多东西的电脑上搭建Qt android开发环境死活不成功,必须全新安装的操作系统才可以,所以单独搞了一块硬盘用来Qt开发android)。

5:Qt发布也困扰了不少的初学者,尤其是高达几十兆的运行库文件,更是崩溃至极,不是提示缺少某个文件,就是那边少了数据插件,甚至蹦蹦蹦的弹框,最可恨可气无奈的是,明明某些电脑可以正常运行,某些电脑死活跑不成功。

6:Qt内置方法的变动,让一些喜欢追逐新版本Qt开发环境的Qter们抓耳挠腮,一下子toAscii,一下子就没了,一下子QSound在QtGUI,一下子移到了multimedia中,打印也是,其他的就不细数了。高版本开发环境居然不兼容低版本,这可是犯了大忌啊。

7:QML兼容性巨坑,各种的不稳定,直到5.7版本开始才好点,很多老式电脑无法正常运行,那个QML设计器更是惨不忍睹无法直视,字体细小难看,还必须放大镜才能看清是什么,既然做了就做好点,不然怎么让开发者用呢,QML开发的商业产品或者作品,到现在也没有看到几个好的,移动端的更加稀少。没有看到一个让人惊艳的作品。

8:浏览器内核变来变去,以前webkit好好的,后面居然抛弃了,我勒个去,始乱终弃啊!你让以前依赖webkit内核的项目怎么换啊,改来改去的。
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线uidab

只看该作者 1楼 发表于: 2016-12-16
哈哈,中文乱码累死。代码里都搞成utf8了,没问题了,读数据库又出问题。还要转来转去。哈哈哈哈!!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线sevencat

只看该作者 2楼 发表于: 2016-12-17
还好的,只是一些api的变化,4->5这种大版本肯定有api变化的。其他的都没什么大问题,有办法解决。
至于 说
装windows XP,WIN7 32位 64位,WIN8,WIN8.1 WIN10 32位 64位这个有点凑字数了,这些用来测试的吧,你只编译一种32位的不就得了。
战争就是和平,自由就是奴役,愚味就是力量
离线圣域天子

只看该作者 3楼 发表于: 2016-12-19
现在Qt都到5.7.1了,我开始担心6.0了,会不会也和5.x有巨大的差异
离线15145093145

只看该作者 4楼 发表于: 2016-12-19
这些问题是新手们会遇到的, 解决就好了。
离线liudianwu

只看该作者 5楼 发表于: 2016-12-19
回 圣域天子 的帖子
圣域天子:现在Qt都到5.7.1了,我开始担心6.0了,会不会也和5.x有巨大的差异[表情]  (2016-12-19 08:41) 

很有可能,估计Qt6才是真正完美支持移动开发的开始。
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线return

只看该作者 6楼 发表于: 2016-12-20
  
离线listen342325

只看该作者 7楼 发表于: 2016-12-20
同样担心如下问题,那就学的蛋疼了。

现在Qt都到5.7.1了,我开始担心6.0了,会不会也和5.x有巨大的差异.
Qt 不错的选择
离线hzm000000

只看该作者 8楼 发表于: 2016-12-20
希望刘工可以多出一些类似此篇文章的Qt开发心得!一直都顶您!
离线圣域天子

只看该作者 9楼 发表于: 2016-12-20
对了,有个QtWin 的BUG,如果主窗自定义无标题框,自绘时会冲突,从5.5到5.7一直存在这个问题。
之前和之后的版本不知道
离线bs1003506507

只看该作者 10楼 发表于: 2016-12-25
新手路过.....
离线shf1986

只看该作者 11楼 发表于: 2017-01-11
qt更新太快,感觉还是稳定住,修补bug最好......
QQ:173409750
Atmel SAMA5D3x(QQ群:476153000)
TI AM335x(QQ群:275644633)
Qualcomm/NXP/Freescale iMX6(QQ群:47768065)
嵌入式Qt、MySQL(QQ群:437438881)
离线唯有小天

只看该作者 12楼 发表于: 2017-01-20
请教:如何用QT开发界面库给VS2008这样的开发平台调用?我用VS2008开发的库可以被QT Creator调用。
离线qing11

只看该作者 13楼 发表于: 2017-02-06
初学者
哈喽,大家好
离线weinkym

只看该作者 14楼 发表于: 2017-02-06
一路走来,上面的坑基本都踩过了
离线artlands

只看该作者 15楼 发表于: 2017-02-20
Qt开发团队表示看不懂中文,看不到你的意见
离线amwssy

只看该作者 16楼 发表于: 2017-05-07
拜读了
离线XChinux

只看该作者 17楼 发表于: 2017-05-07
Qt编译版本众多,加上webkit问题,加上64位问题,加上mingw问题,这windows下安装至少3个版本啊,太占空间了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线fish0619

只看该作者 18楼 发表于: 2017-06-29
1. 我一般盯着一个 Qt 版本进行开发。只要没有功能需求,我就不太喜欢升级 Qt 版本。同样的,我也不会总是升级 visual c++ 版本。几年升级一次,能用就差不多了。
2. 使用 mingw 容易发布。但太多 windows 的 cpp 库只能使用 msvc 来编译。
3. 希望 Qt6 不要太快来,不然又有得折腾了。真希望 KDE 不要把时间花在跟 Qt 的升级上面。不然现在就可以用到更好用的 KDE 了。
4. 搞个 windows/linux 不就行了。android 直接使用真机测试嘛。
5. distribution 确实是坑。但哪个 cpp 软件不是呢。Windows 软件都要填 vcredist 这个坑。而且有了 windeployqt.exe 以后,Qt 的布署简单了很多。
6. trUtf8() 也不能用了!!
7. QML 确实是不行啊。我现在还是只用 Qt 的 C++ 部分。但是 QtWidgets 最近的升级真是太少了。要是有 Android 的布局管理器就好了。也希望 QtWidgets 能够支持移动界面的手势。
8. WebEngine 就是 rubbish

只看该作者 19楼 发表于: 2017-07-24
新手表示,刚用QT时,差点被各种安装吓傻了
离线twodiamond

只看该作者 20楼 发表于: 2017-08-23
一直以来都是用Qt4.8.5,也只是做一些GUI和通信类的基本嵌入式应用,忽然Qt5.9.1来了,心里反而忐忑起来了:
到底要不要跟呢?Qt4.8.5虽说基本能满足应用,但QTextSerial、Qwt都需要采用第三方的,而且据说Qt5.8.0(本身是过渡性质的)以后,启动速度加快了(基于Qt4.8.5产品不能满足客户的启动速度);自带Qt Chart;从官方声明来看,Qt5.9是LST版本。


请问各位大佬:到底要不要切换呢?


谢谢!
在线kaon

只看该作者 21楼 发表于: 2017-08-23
4->5肯定要升的,信号槽语法的改变就会爽不少,
保留几个lts版本。。需要xp就5.6,不需要就5.9,然后再保留一个最新版,比如即将出的5.10
离线twodiamond

只看该作者 22楼 发表于: 2017-08-24
回 kaon 的帖子
kaon:4->5肯定要升的,信号槽语法的改变就会爽不少,
保留几个lts版本。。需要xp就5.6,不需要就5.9,然后再保留一个最新版,比如即将出的5.10 (2017-08-23 22:13) 

嗯,这个建议不错!!!
快速回复
限100 字节
 
上一个 下一个