找回密码
 FreeOZ用户注册
查看: 4154|回复: 26
打印 上一主题 下一主题

[论坛技术] 咨询个方向问题:GUI编程用什么好

[复制链接]
跳转到指定楼层
1#
发表于 22-1-2010 11:10:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
俺c++看了一阵了,觉得可以动手编程序了,不实际操作,难得提高。我想先请教一下,搞GUI编程,如果想兼顾windows/linux,以及embedded应用,是不是就是用qt最好呢?qt做出来的程序,在windows下,能不能做成一个可执行文件的那种,就是只需要拷贝一个可执行文件就能用,不需要再安装各种库文件什么的。

请各位老大,尤其是老乞丐帮俺答疑解惑
回复  

使用道具 举报

2#
发表于 22-1-2010 11:46:44 | 只看该作者

回复 #1 四香油饼 的帖子

我想说,是的,用QT吧,因为我现在就靠这东西吃饭   需要同时照顾以下平台的开发:
Windows, Mac OS X, UNIX/ Linux,  Windows Mobile, Symbian, Maemo

或者就用HTML, Javascript, WEB编程这类,大部分移动设备现在也都支持浏览器应用了。
回复  

使用道具 举报

3#
发表于 22-1-2010 11:56:21 | 只看该作者
饼叔不考虑java吗,呵呵。
回复  

使用道具 举报

4#
 楼主| 发表于 22-1-2010 11:57:32 | 只看该作者
原帖由 coredump 于 22-1-2010 12:46 发表
我想说,是的,用QT吧,因为我现在就靠这东西吃饭   需要同时照顾以下平台的开发:
Windows, Mac OS X, UNIX/ Linux,  Windows Mobile, Symbian, Maemo

或者就用HTML, Javascript, WEB编程这类,大部分移动设 ...


那windows下能做成单独一个可执行文件么?
回复  

使用道具 举报

5#
发表于 22-1-2010 14:22:32 | 只看该作者
现在还有不用库的程序吗?都要靠一大堆库撑着,只不过有些是预装的吧。要不那程序要多大阿。
要考虑的应该是把库shared吧。装一次就行,不用每个程序都装。
我也很喜欢Qt,不过,是初学。我在Ubuntu, Xp, 和 WM6上都用,很好使阿。
回复  

使用道具 举报

6#
发表于 22-1-2010 14:33:52 | 只看该作者

回复 #4 四香油饼 的帖子

一般需要附带几个.dll文件,应要做成1个.exe也行,就用静态链接的方式,不过没有必要。
回复  

使用道具 举报

7#
 楼主| 发表于 22-1-2010 15:09:10 | 只看该作者
原帖由 laysman 于 22-1-2010 12:56 发表
饼叔不考虑java吗,呵呵。


学不过来了,一个c++就把俺整死了
回复  

使用道具 举报

8#
发表于 22-1-2010 15:18:46 | 只看该作者
原帖由 四香油饼 于 22-1-2010 16:09 发表


学不过来了,一个c++就把俺整死了


饼叔涉及硬件操作多吗?干嘛要用C++呢?你上面说的windows+linux+embedded 用JAVA多方便呀,而且C++那些个语法.......

现在windows下有C#,其他平台有JAVA,C++有点不知道何去何从的感觉,也许以后会变成汇编语言一样的地位,只有非常特殊的地方才会用到。听说现在好像只有写硬件驱动的时候C++还有一些优势。

评分

参与人数 1威望 +25 收起 理由
四香油饼 + 25 没有单片机用的java

查看全部评分

回复  

使用道具 举报

9#
发表于 22-1-2010 15:33:57 | 只看该作者
原帖由 四香油饼 于 22-1-2010 16:09 发表


学不过来了,一个c++就把俺整死了

Java的语法比C++简单规范多了!
回复  

使用道具 举报

10#
发表于 22-1-2010 16:54:05 | 只看该作者
C++也很简单哪,JAVA只不过取巧罢了,论结构化和灵活性,JAVA差得远。而且C++可以访问硬件。万能语言哪。写应用,结构化好,面向对象思维可以用,面向过程也没问题。写驱动,全面兼容C优化编译效率高。
我觉得汇编也很好哇,最好学了,你写bootloader只能用汇编。

至于写GUI,看你在什么平台了,大部分人现在都用JAVA这个效率低下的东西,我也搞不懂为啥要用这种东西。想提高效率,还得用C/C++直接调用操作系统的API,想播放视频之类的GUI就得直接操作硬件,或者操作硬件抽象层,用JAVA受限制就多了,如果C++程序员没给你写支持的package你就没辙了。C/C++直接去用,不让用照着硬件规格自己写驱动还能用。

[ 本帖最后由 Bill_Fish 于 22-1-2010 17:59 编辑 ]
回复  

使用道具 举报

11#
发表于 22-1-2010 16:58:51 | 只看该作者
原帖由 Bill_Fish 于 22-1-2010 17:54 发表
C++也很简单哪,JAVA只不过取巧罢了,论结构化和灵活性,JAVA差得远。而且C++可以访问硬件。万能语言哪。写应用,结构化好,面向对象思维可以用,面向过程也没问题。写驱动,全面兼容C优化编译效率高。
我觉得汇编也 ...


哇~~, C++还算简单呀,佩服中~~
回复  

使用道具 举报

12#
发表于 22-1-2010 17:02:31 | 只看该作者

回复 #11 dark008 的帖子

就是个编程语言吗,大同小异,都那些玩意,时间长了编程语言不会成为你的限制,或者说你考虑的东西。写程序主要是在思想,结构,稳定性,扩展性。高级点的就只关心算法,协议了。

评分

参与人数 1威望 +30 收起 理由
coredump + 30 我很赞同!

查看全部评分

回复  

使用道具 举报

13#
发表于 22-1-2010 17:12:50 | 只看该作者
C++就是个车床,Java就是个水果刀

用车床削苹果,理论上可以,不过很蠢
不过很多比较硬的东西,只能上车床了,但是一如果一直接触的就是水果,不去理会车床也无所谓,虽然说这把水果刀也是车床车出来的,不过管那么多干嘛
回复  

使用道具 举报

14#
发表于 22-1-2010 17:38:14 | 只看该作者
原帖由 coredump 于 22-1-2010 18:12 发表
C++就是个车床,Java就是个水果刀

用车床削苹果,理论上可以,不过很蠢
不过很多比较硬的东西,只能上车床了,但是一如果一直接触的就是水果,不去理会车床也无所谓,虽然说这把水果刀也是车床车出来的,不过管那 ...


哈哈哈哈,这个比喻很有意思,老乞丐可以试试也写一本 thinking in programming language 这样通俗易懂的书 ,取代Bruce Eckel的thinking系列
回复  

使用道具 举报

15#
发表于 22-1-2010 23:38:28 | 只看该作者
原帖由 Bill_Fish 于 22-1-2010 17:54 发表
C++也很简单哪,JAVA只不过取巧罢了,论结构化和灵活性,JAVA差得远。而且C++可以访问硬件。万能语言哪。写应用,结构化好,面向对象思维可以用,面向过程也没问题。写驱动,全面兼容C优化编译效率高。
我觉得汇编也 ...

java长处在server端。。。。现在用java来写桌面gui的人已经很少了
c++太高深了。。。如果你只是想用编程来混口饭吃,建议你还是学java好了, 上手快,不需要对编程的很多细节了如指掌(现在开源框架太多了)...如果想学习一门优美且经典的编程语言, c++首选
如果是桌面编程的话, windows下首选c#, 如果要跨平台,只有c++最实用了

[ 本帖最后由 shenzy 于 23-1-2010 00:41 编辑 ]

评分

参与人数 2威望 +60 收起 理由
coredump + 30 谢谢分享!
stellahie + 30 你太有才了!

查看全部评分

回复  

使用道具 举报

16#
发表于 22-1-2010 23:43:44 | 只看该作者
原帖由 shenzy 于 23-1-2010 12:38 AM 发表

java长处在server端。。。。现在用java来写桌面gui的人已经很少了
c++太高深了。。。如果你只是想用编程来混口饭吃,建议你还是学java好了, 上手快,不需要对编程的很多细节了如指掌(现在开源框架太多了)...如果想学习一门优美且经典的编程语言, c++首选


这句话很有意思啊!油饼加油!
回复  

使用道具 举报

17#
发表于 23-1-2010 10:03:41 | 只看该作者

回复 #15 shenzy 的帖子

现在Java的GUI开发速度和性能也还不错啦,
在目前的硬件条件下,对于普通商业应用,性能不会有多大问题。
回复  

使用道具 举报

18#
 楼主| 发表于 23-1-2010 10:47:33 | 只看该作者
多谢各位大师指点,我已经基本确定了方向,就QT了,因为这是最适合我目前状况的。
回复  

使用道具 举报

19#
发表于 23-1-2010 12:09:31 | 只看该作者
qt是收费的吧?
有一个免费的wxwidgets还不错。推荐
回复  

使用道具 举报

20#
发表于 23-1-2010 22:56:45 | 只看该作者
首选QT
也可以考虑GTK+,公司有不少应用是Python + GTK这种,不过不如QT灵活。

Java不适合做客户端GUI,Swing和SWT性能都不咋的,以前有几个legacy的应用,令人乍舌。
回复  

使用道具 举报

21#
发表于 24-1-2010 00:58:14 | 只看该作者
其实没啥, 用啥都一样。看看文档, 研究几个sample, 就可以开工。我用Qt写过东西, 也就是现学现卖, 写完之后暂时不碰了, 过一段时间就忘光光。 所以, 我觉得学语言和研究东西的阶段可以不用去碰什么gui的东西, 真正有了需求, 要做项目了, 可以很快跟上。
另外, 回19楼的, qt现在已经三种授权方式了, 其中一种LGPL v2.0, 是可以不花钱不开源的。

评分

参与人数 1威望 +30 收起 理由
coredump + 30 谢谢分享!

查看全部评分

回复  

使用道具 举报

22#
发表于 25-1-2010 01:30:11 | 只看该作者
原帖由 dack 于 23-1-2010 12:09 发表
qt是收费的吧?
有一个免费的wxwidgets还不错。推荐
过去时了,自从被Nokia收购后,就完全免费了,LGPL

评分

参与人数 1威望 +8 收起 理由
大杨树 + 8 谢谢分享!

查看全部评分

回复  

使用道具 举报

23#
发表于 31-1-2010 22:53:47 | 只看该作者
C++要学好不容易。
用Java做GUI编程不方便,要写很多代码。

GUI编程用C#和VB最方便。很多时候只需要drag & drop
回复  

使用道具 举报

24#
发表于 16-2-2010 18:29:30 | 只看该作者
原帖由 finaleden 于 22-1-2010 16:33 发表

Java的语法比C++简单规范多了!

说真心的,我不觉得java有啥好处或者简单规范。要说,我还是觉得C++才真是结构严谨,规范。

评分

参与人数 1威望 +15 收起 理由
GPS + 15 我很赞同!

查看全部评分

回复  

使用道具 举报

25#
发表于 16-2-2010 18:32:14 | 只看该作者
油饼,你就用Qt吧。暂时没啥qt做不了的。呵呵。coredump,现在版本的qt的QString到std::string的bug解决了么?我一直在用4.3.3,因为我们的授权只到4.3.3。所以对新版本不熟悉。
回复  

使用道具 举报

26#
发表于 24-2-2010 12:54:18 | 只看该作者
其实混合编程最好,windows GUI用C#或VB,web服务用java或asp.net,硬件,系统或效率问题就用C++
回复  

使用道具 举报

27#
发表于 24-2-2010 19:17:55 | 只看该作者
Why not Python?
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 28-8-2025 20:05 , Processed in 0.065073 second(s), 44 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表