门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精品文章(Qter团队原创教程)
›
基础教程
›
垃圾qt,毁我青春
发布主题
返回列表
垃圾qt,毁我青春
2
回复
364
查看
[复制链接]
liudianwu
当前离线
积分
2816
liudianwu
累计签到:7 天
连续签到:1 天
来源:
2025-6-4 14:59:56
显示全部楼层
|
阅读模式
马上注册,查看详细内容!注册请先查看:
注册须知
您需要
登录
才可以下载或查看,没有帐号?
立即注册
x
## 一、前言说明
在软件开发的漫漫征途中,我与 Qt 的邂逅本以为是一场美妙的合作,然而,现实却给了我沉重的一击。“垃圾 qt,毁我青春”,这句看似过激的话语,实则饱含了我在 Qt 开发之路上的无数辛酸与无奈。
## 二、版本问题
- Qt 的版本乱象,堪称开发者的噩梦。从 4.6 到 6.8,甚至可能更快迎来的 Qt7,版本数量多如繁星。
- 不仅如此,位数从 32 位跨越到 64 位,适配的操作系统涵盖 windows、linux、mac、android、ios 等,还有各式各样的嵌入式 linux 以及新兴的国产 linux。
- msvc 版本需要对应安装 vs2005、vs2008、vs2010 等不同年份的 Visual Studio;mingw 版本也得安装不低于特定版本号的 mingw 编译器。
- 这错综复杂的版本组合,让开发者仿佛置身于迷宫之中,难以找到正确的方向。
- 为了实现跨平台应用开发,不得不配备多块硬盘,安装多个操作系统。虚拟机的诸多问题,更是迫使我们搭建真机环境进行测试。
- 仅基础的操作系统,就需要安装 windows XP,WIN7 的 32 位和 64 位,WIN10 的 32 位和 64 位,以及 ubuntu 的 14.04、15.04、16.04 等版本。
- 嵌入式开发中的交叉编译环境搭建,更是让人望而生畏。还记得 2012 年,为了搭建交叉编译环境,我耗费了整整 3 周的时间,那是一段充满煎熬与挫折的经历。
- 而在 Qt 安卓开发中,环境搭建的难度也不容小觑。在原有安装了众多软件的电脑上搭建开发环境,往往以失败告终,必须使用全新安装的操作系统才行。
- 无奈之下,我只好单独准备一块硬盘用于 Qt 安卓开发,这无疑增加了开发的成本与复杂性。
## 三、乱码问题
- 乱码问题,如同 Qt 开发中的顽疾,长期困扰着开发者。
- 在 Qt4 时代,这个问题尤为严重。常常是好不容易解决了界面乱码,输出却又出现乱码;解决了输出乱码,界面又再次乱码。
- qdebug 打印也时常出现乱码情况,而且 mingw 和 msvc 环境下,同样的程序可能会出现不同的乱码问题。
- 乱码提示往往晦涩难懂,宛如火星文,让人摸不着头脑,实在是坑爹。
- 幸运的是,从 Qt5 之后,乱码问题有所缓解,但仍不时出现,给开发过程带来诸多不便。
## 四、方法变动
- Qt 内置方法的频繁变动,也让开发者苦不堪言。一会儿 toAscii 方法存在,一会儿又消失不见;
- QSound 原本在 QtGUI 中,后来却移到了 multimedia 中。
- 浏览器内核也变来变去,原本稳定好用的 webkit 被抛弃,这种始乱终弃的做法,让开发者难以适从。
- 高版本开发环境对低版本的不兼容,更是大忌。
- 每一次大版本的更新,都意味着学习成本的大幅上升。
- 网上大量的 Qt4 和 Qt5 时代的代码,在新的开发环境中无法正常编译,导致许多初学者下载代码后无法成功运行,从而丧失信心,甚至开始怀疑人生,觉得网上的资源都是骗人的。
## 五、发布问题
- Qt 发布过程同样问题重重。对于初学者而言,高达几十兆的运行库文件,无疑是沉重的负担,令人崩溃。
- 更可恨的是,有些程序在某些电脑上可以正常运行,在另一些电脑上却死活跑不起来。
- 有错误提示还好,可很多时候直接无法运行,且没有任何提示,只能花费大量时间慢慢排查问题。
- Qt 虽号称兼容性好,但实际上在一些平台相关特性方面,兼容性却很差。
- 例如高分屏缩放的兼容性问题,直到 Qt6 都尚未得到妥善解决,看看 QtCreator 本身在高分屏上的显示效果就可见一斑。
- qml 的兼容性也存在巨大的坑,极不稳定,在老式电脑上常常无法正常运行。
- 在 Qt6 以前,qml 设计器更是糟糕,字体细小难看,操作极为不便,几乎无法使用。
- 而且,qml 开发的商业产品或作品数量稀少,在移动端更是凤毛麟角。
- 开发过程中还经常出现 debug 正常,release 却崩溃的情况,让人防不胜防。
## 六、严重依赖
- 长期使用 Qt 进行开发,还容易产生严重的依赖症。
- Qt 将许多功能都进行了封装,虽然提高了开发效率,但也让开发者逐渐失去了对底层代码的掌控能力,长此以往,可能会变成只会使用 Qt 的程序员,而非真正的 C++ 程序员。
- qml 组件中的许多控件也不够完善,处于半成品状态,嵌套组件下的 Qml 设计器更是难以使用。
- 此外,QtCreator 在 debug 调试方面表现不佳,功能鸡肋且容易崩溃,进一步影响了开发效率与体验。
## 七、结束的话
回首在 Qt 开发上耗费的时光,心中满是悔恨与无奈。它耗费了我大量的青春与精力,却并未给我带来与之匹配的收获与成就。“垃圾 qt,毁我青春”,这不仅仅是一句抱怨,更是我在 Qt 开发之路上历经磨难后的肺腑之言。希望 Qt 的开发者们能够重视这些问题,进行改进与优化,让 Qt 成为真正优秀、易用的开发框架 。
回复
使用道具
举报
EagleEx
当前离线
积分
18
EagleEx
尚未签到
2025-6-6 14:40:05
显示全部楼层
DALAO dalao 大佬是心情一般啊
回复
支持
反对
使用道具
举报
EagleEx
当前离线
积分
18
EagleEx
尚未签到
2025-6-6 15:19:47
显示全部楼层
Qt 的乱码 我也是解决了 很久才找到彻底的方法
回复
支持
反对
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
浏览过的版块
嵌入式相关
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了