浏览 21059 次
锁定老帖子 主题:QT初体验
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-05-04  
C++
最近用QT开发自用词典,包括日韩、韩日、中英、英中、日日、英英词典,词汇量一定要全,有时间加TTS发音和屏幕取词功能。我需要日韩互相查询,英中互相查询,日语和英语每个单词的详细解释功能。我平时一般用金山词霸和广辞苑,偶尔查询网上的日韩词典。
这次日语词典选择了广辞苑,词汇量庞大,基本上没有查不到的。英汉/汉中词典选择了金山词霸里的简明英中词典,英语辞典选择了金山词霸里的美国传统词典,现在用金山词霸也就用这2个辞典。日韩/韩日选择了一个日本人开发的词典(KJDict)里的词库,日韩互查比较方便,很多词汇都一对一对应。有了这些词库,基本可以放弃其他词典了。

本来打算用MFC做,但后来知道QT,大概看了一下例子和文档,马上喜欢QT了。比起MFC、GTK的编程风格,QT 编程风格比较让人容易看懂,QString、QList、QMap、QFile、QRegExp功能强大易于使用,不直接用指针也可以做大部分事情,很像Java编程。尤其支持UTF-8良好,文本处理能力强,非常符合这个多语言词典。

目前花了半个月时间完成了主要词库转换、索引创建、词汇查询、基本界面,整体感觉良好,下面简单地总结一下我对QT的感受。

优点:
1. 入门容易、学习成本低。我以前主要做过PHP、Java、Perl、JavaScript这些非GUI编程,了解基本概念后就可以边查文档边写程序了。如果用MFC,可能要花更多时间去学习。
2. 跨平台效果好。本来是Linux下的工具库,在Windows下默认观感也不错。
3. 工具包数量多。该有的基本都有,大部分应用基本不需要自己实现功能了,看API直接调用就可以。
4. OPEN SOURCE。有些功能若有特殊需求,可以模仿源代码自己动手实现。我这个小程序排序有特殊需求,用QT提供的qSort无法完成。我就在qSort基础上追加了特殊处理。(qSort用goto语句实现了quick sort算法。)
5. 不需要虚拟环境,发布程序时带QT的几个dll文件(大部分程序只需要QtCore4.dll和QtGui4.dll)就可以。

缺点:
1. Windows上搭建开发环境比较麻烦。虽然用DevC++不需要自己编译QT库,但调试方面和VC没法比。官方没有提供用VC编译的二进制文件,只好自己动手编译了。而且QT各版本设置方法都不一样,以前版本要打一个补丁才可以用VC编译,最新版本不需要,可以直接编译。
2. QT Designer不好用,离真正可见即所得差距很大。不过用QT Designer控件属性显示功能,分析各控件的属性还是蛮不错。
   发表时间:2008-05-04  
支持QT.
QT在GUI库里面,比较优秀.学习了.
0 请登录后投票
   发表时间:2008-05-04  
Qt是自绘窗口,所以窗口风格在各个平台基本一致。

Windows下建议用Qt4系列版本,VS+QT Integration,比Dev好。编译并不复杂,Qt环境bin目录设置,VS命令窗口中configure,qmake,nmake就ok(低版本要自己改makefile).

为了核心代码的移植方便,能用STL的还是用STL,Vector,Sort这些

现在Designer的功能就是一完全的布局设计,用xml描述,再用uic转成C++。

0 请登录后投票
   发表时间:2008-05-04  
wzgme 写道
Qt是自绘窗口,所以窗口风格在各个平台基本一致。

Windows下建议用Qt4系列版本,VS+QT Integration,比Dev好。编译并不复杂,Qt环境bin目录设置,VS命令窗口中configure,qmake,nmake就ok(低版本要自己改makefile).

为了核心代码的移植方便,能用STL的还是用STL,Vector,Sort这些

现在Designer的功能就是一完全的布局设计,用xml描述,再用uic转成C++。


怪不得金山词霸取不到QT画出来的TEXT,本来没用WINAPI的文本绘制函数啊。
PS:不喜欢STL的命名,希望C++用Java的方式设计标准库。
0 请登录后投票
   发表时间:2008-05-04  
delete 写道
luolonghao 写道
wzgme 写道
Qt是自绘窗口,所以窗口风格在各个平台基本一致。

Windows下建议用Qt4系列版本,VS+QT Integration,比Dev好。编译并不复杂,Qt环境bin目录设置,VS命令窗口中configure,qmake,nmake就ok(低版本要自己改makefile).

为了核心代码的移植方便,能用STL的还是用STL,Vector,Sort这些

现在Designer的功能就是一完全的布局设计,用xml描述,再用uic转成C++。


怪不得金山词霸取不到QT画出来的TEXT,本来没用WINAPI的文本绘制函数啊。
PS:不喜欢STL的命名,希望C++用Java的方式设计标准库。

Java的方式?什么方式?c++就是围绕template和指针展开的。


JavaProgrammingLanguageCodeStyle.cplusplus:

InlucdeHeadFile: <SystemStandardInpuOutputLibaryHeadFile>
Integer MainFunctionEntry() {
...
...
}
0 请登录后投票
   发表时间:2008-05-06  
前天搞定了在Netbeans6.1下编译运行Qt项目,还没进一步尝试
不过初步印象觉得Qt4的组织结构与Swing挺像的,只不过消息传递机制不同(比Swing貌似更好)
其命名方式比丑陋的STL库好多了,比较符合JAVA中的习惯。
0 请登录后投票
   发表时间:2008-05-06  
Eastsun 写道
前天搞定了在Netbeans6.1下编译运行Qt项目,还没进一步尝试
不过初步印象觉得Qt4的组织结构与Swing挺像的,只不过消息传递机制不同(比Swing貌似更好)
其命名方式比丑陋的STL库好多了,比较符合JAVA中的习惯。


Swing程序没写过,以前写过一点Android程序,QT的GUI库比Android GUI库还好理解。
熟悉Java后觉得STL命名方式真的很丑陋。
0 请登录后投票
   发表时间:2008-05-09  
觉得swing事件好烦琐,比较喜欢gtk方式的。
0 请登录后投票
   发表时间:2008-05-20  
qt和gtk的消息处理其实很像。。都有个signal..一个slot
都是用macro实现..

不过qt的安装和部署貌似比gtk好些.
0 请登录后投票
   发表时间:2008-05-21  
第一个可用版本完成并正在使用中,在Windows XP和2003上运行良好,下面LINK里有几张截图。

http://luolonghao.iteye.com/admin/blogs/194639
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics