新浪微博
腾讯微博
会员列表
统计排行
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
帮助
下拉
用户名
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
首页
论坛
Qt下载
作品展
群组
个人中心
捐赠、管理与开发
邮件订阅
帖子
文章
日志
用户
版块
群组
帖子
搜索
QTCN开发网
>
Qt基础编程
>
Qt血的教训/细数Qt开发的各种坑/又爱又恨/欢迎围观留言评论
发帖
回复
返回列表
新帖
1473
阅读
2
回复
Qt血的教训/细数Qt开发的各种坑/又爱又恨/欢迎围观留言评论
[复制链接]
上一主题
下一主题
离线
liudianwu
UID:110085
注册时间
2010-12-21
最后登录
2025-05-14
在线时间
3566小时
发帖
2830
搜Ta的帖子
精华
2
金钱
33964
威望
3494
贡献值
624
好评度
3514
访问TA的空间
加好友
用道具
总版主
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
加关注
发消息
只看楼主
倒序阅读
楼主
发表于: 2024-04-07
一、吐槽总结
搞Qt开发十几年了,最初从Qt4.6开始,一直追新到现在的6.7版本,中间经历过无数的血的教训,简直是又爱又恨。其实Qt挺好的,但是还是要忍不住吐槽一下,本人还是希望Qt发展的越来越好,这样我的饭碗就能保住了。
1. 版本众多
Qt的版本多到你数都数不清,多到你开始怀疑人生。
Qt版本从4.6开始到6.8,光这一阶段就无数版本。
编译
器从msvc编译器到mingw编译器再到gcc编译器等。
位数从32位到64位。
操作系统有windows、linux、mac、android、ios等系统,还有各种嵌入式linux,现在又多了国产linux。
msvc版本还必须
安装
对应的 vs2005、vs2008、vs2010、vs2013、vs015、vs2017、vs2019、vs2022等。
mingw版本必须安装不小于某个版本号的mingw编译器。
很多人一看官网的下载链接,就蒙圈了,到底应该选择哪一个进行下载开发呢?对初学者真不友好。
为了能够做到开发跨平台应用,不得不安装多块硬盘和多个操作系统,虚拟机的坑使得必须安装真机环境才能测试出真实效果。
最基本的你必须安装windows XP,WIN7 32位 64位,WIN10 32位 64位,ubuntu 14.04 15.04 16.04。
嵌入式开发还得搞各种交叉编译环境,尤其记忆最深刻的是在2012年搭建交叉编译环境花了3周时间。
搞Qt安卓开发最好用干净的系统, 本人试过N次,在原有的安装了很多东西的电脑上搭建Qt android开发环境死活不成功,必须全新安装的操作系统才可以,所以单独搞了一块硬盘用来Qt开发android。
本人就在四块硬盘上安装了十几个操作系统,安装了至少30个Qt开发环境,我的乖乖。
大概从2020年开始,Qt飙版本的速度,超过了各位工资的涨幅速度。
2. 各种乱码
Qt各种乱码
问题
,困扰Qter一生,尤其是Qt4时代;
有时候解决了
界面
乱码,输出又出乱码了;
解决了输出乱码,界面又乱码了;
界面不乱码了,结果qdebug打印又乱码;
mingw不乱码了,结果msvc又乱码,关键是程序一模一样。
乱码提示只有上帝能看懂,都是些火星文,非常坑爹;
声明下:这不只是Qt的问题,这是IT界的问题,什么utf-8带BOM,什么MSVC默认是GBK编码,什么回车换行符\r\n。
幸运的是,大概从Qt5以后,乱码问题少很多。
3. 接口变动
Qt最近十几年大概有3个大版本,分别是Qt4、Qt5、Qt6,按照目前飙版本的速度,预计不到2年还有个Qt7出生。
版本接口变动最大的是Qt4到Qt5,其次是Qt5到Qt6,直觉告诉我,Qt6和Qt7接口变动不会很大,应该很小。
接口变动是避免不了的事情,但是同一个函数的命名变来变去,这就有点接受不了。
Qt内置方法的变动,让一些喜欢追逐新版本Qt开发环境的Qter们抓耳挠腮,一下子toAscii,一下子就没了,一下子QSound在QtGUI,一下子移到了multimedia中。打印模块也是移来移去,其他的就不细数了。
浏览器内核变来变去,以前webkit好好的,后面居然抛弃了,我勒个去,始乱终弃啊!你让以前依赖webkit内核的项目怎么换啊,改来改去的。
大概从Qt5.6版本开始集成的是webengine谷歌内核,最起码有,也能接受,但是这逼不支持mingw编译器。而Qt默认自带编译器就是mingw,意味着默认就不能用浏览器控件。这下搞得,哎。
高版本开发环境居然不兼容低版本,这可是犯了大忌啊。
每一个巨大版本的变动,意味着学习成本上升。
网上大量的Qt4和Qt5时代的代码,让很多Qt4时代的代码不能正常在Qt5环境中编译,导致网上各种初学者下载到的Qt4代码编译
没有
一个通过的人丧失信心,甚至又开始怀疑人生,网上都是骗人的又一次浮现脑海。
对标c#和java,基本上都是很容易的升级大版本,因为接口几乎就是一致的。
4. 打包发布
Qt发布也困扰了不少的初学者,尤其是高达几十兆的运行库
文件
,更是崩溃至极。
不是提示缺少某个文件,就是那边少了
数据
库
插件,甚至蹦蹦蹦的弹框。
最可恨可气无奈的是,明明某些电脑可以正常运行,某些电脑死活跑不成功。
后面出了个deployqt工具要方便很多,以前没有这个工具的时候,简易一头雾水。
有
错误
提示还好,关键是很多时候直接无法运行,啥提示都没有,只能慢慢查。
对标c#程序,只需要安装个.NET框架就行,非常方便。
5. 兼容性
Qt就是因为兼容性好,所以最后做到了兼容性差。
总的来说其实就是基础功能兼容性好,平台相关的一些特性兼容性差。
最大吐槽就属于高分屏缩放的兼容性问题,到现在Qt6基本还没解决,看QtCreator本身的兼容性就知道。
qml兼容性巨坑,各种的不稳定,直到5.7版本开始才好点,很多老式电脑无法正常运行。
在Qt6以前,那个qml设计器更是惨不忍睹无法直视,字体细小难看,还必须放大镜才能看清是什么,既然做了就做好点,不然怎么让开发者用呢?
qml开发的商业产品或者作品,到现在也没有看到几个好的,移动端的更加稀少。没有看到一个让人惊艳的作品。
6. 网友补充
有时候debug正常,release又崩溃。可能是路径问题?
集成开发环境QtCreator中文翻译不全,一会中文一会英文,看起来非常别扭。
长期用Qt会产生严重的依赖症,什么都Qt给你封装好了。长此以往,变成Qt程序员而非
C++
程序员。
qml组件中很多控件是半成品,嵌套组件下Qml设计器很难用。
QtCreator在debug调试非常鸡肋,而且容易崩溃。
二、开源地址
国内站点:
https://gitee.com/feiyangqingyun
国际站点:
https://github.com/feiyangqingyun
个人作品:
https://blog.csdn.net/feiyangqingyun/article/details/97565652
视频主页:
https://space.bilibili.com/687803542
图片:4-2-3.jpg
图片:4-3-1.jpg
共
条评分
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493 WX:feiyangqingyun QQ群:751439350
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
离线
liulin188
UID:131079
注册时间
2012-04-29
最后登录
2025-05-09
在线时间
6874小时
发帖
700
搜Ta的帖子
精华
0
金钱
7306
威望
719
贡献值
3
好评度
709
访问TA的空间
加好友
用道具
圣骑士
加关注
发消息
只看该作者
1楼
发表于: 2024-04-08
这广告大的,楼主给论坛赞助下吧,
共
条评分
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
回复
举报
离线
tanyue.esec
UID:203897
注册时间
2020-07-16
最后登录
2025-05-09
在线时间
163小时
发帖
116
搜Ta的帖子
精华
0
金钱
4780
威望
149
贡献值
1
好评度
119
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
2楼
发表于: 2024-04-09
深有同感啊。
尤其是网友补充的,debug正常,release崩溃,Creator下的debug经常崩溃
共
条评分
回复
举报
发帖
回复
返回列表
http://www.qtcn.org/bbs
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问
快速回复
限100 字节
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
关闭
补充发布信息
验证码:
发 布
隐藏
快速跳转
站务及资讯
网站公告
新闻资讯
Qt官方发布
网站管理
Qt应用及资源
Qt 作品展
Qt代码秀
Qt应用版
Qt技术讨论区
Qt安装与发布
Qt中文处理
Qt基础编程
Qt QML开发
Qt嵌入式开发
Qt移动平台开发
其它技术开发讨论区
Qt图书专区
《C++ GUI Qt 4编程》(第2版)专栏
《Qt高级编程》专栏
《零基础学Qt4编程》专栏
《Qt设计模式》(第2版) 图书专栏
Python Qt GUI快速编程
Qt项目开发区
天池项目
Qt开放平台开发库
机械CAD
扇贝词典
非活跃项目区
社区中心
帖子回收站(Trash)
招聘、求职、供求、广告等
休闲娱乐
关闭
关闭
选中
1
篇
全选