Rumah > Soal Jawab > teks badan
想开发个桌面软件,找了一圈,大部分都推荐使用QT做界面。然而,学了一个月,发现不知道是我能力不够还是qt功能有效,比如我想做类似迅雷那样复杂的界面,却发现qt提供的控件实在有限,想做复杂点个性化的界面无从下手。网上搜了一圈,也有html+css+js写界面的,如果能这样那是极好的,学习成本会减少很多。而且web写界面实在太得心应手了。目前有两个候选吧,一个htmlayout和lomox,lomox这个,好像推出几年了,官网啥东西都没有,github零星的人气,什么文档都没完善,怕是遇到问题无从下手,所以有点顾虑,现在唯一的指望就是htmllayout了。
感觉c++开发个软件,做个界面太麻烦了。有啥好办法吗
迷茫2017-04-17 13:48:17
参考这个答案: https://www.zhihu.com/question/39607624
还有这个答案 https://www.zhihu.com/question/23717444 中提到的Qt模仿360安全卫士。
天蓬老师2017-04-17 13:48:17
如果你要求基于C++做,那么Qt是不二之选。
1) 跨平台,Linux/windows/Mac/移动版改动很小,就能使得一份代码能跑在这么多平台上,这已经很厉害了吧
2) Qt做界面,熟手推荐手写代码,生手推荐用QtDesigner拖拽控件的方式直接拖拽出一个界面原型,加上点Qt自定义的Stylesheet(语法类似于CSS),加上几个signal-slot,基本上能用的一个工具就出来了,这个效率已经非常高了。
3) Qt为了吸引到一部分有脚本语言开发经验的用户,采用了QML做布局,这个已经大大简化了开发流程。例子可在Qt的官方examples里找到,下面这个就是基于QML写的
4) 布局方面,Qt是很早就开始支持layout的,这个比你了解到的HTML的layout只强不弱。
5) 不推荐使用Qt的Webkit加html做开发,原因
[1] QT的webkit兼容性不好,跟浏览器的webkit相比还有差距
[2] QT社区也不推荐使用这种方式
6) 你如果对样式有强烈的定制要求,可以采用Qt的QGLWidget自己绘制复杂的界面,但据我所知,做出像迅雷这样的效果,基本上不需要自己定制控件的
至于使用Qt的地方,据我所知,目前很多商业的桌面软件都在用Qt,比如Oracle的VirtualBox,阿里云的云盾