- 2
- 0
- 约2.07万字
- 约 5页
- 2017-08-24 发布于河南
- 举报
Qt Creator使用体会和小技巧
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc318902446 Qt Creator使用体会与小技巧 PAGEREF _Toc318902446 \h 1
Qt Creator使用体会与小技巧
Qt Creator 是 Qt 官方的 IDE ,这个 IDE 为 Qt 编程人员提供了一个完整的开发环境。当然了,这个 IDE 是用 Qt 写的,也是免费的。这个 IDE 真正的编译部分使用了 MinGW gcc compiler 。也就是说,这个 IDE 主要的作用是协助开发人员编写代码,并以更加友好的图形界面方式(而不是命令行)使用 MinGW 。下面我以 MS Visual Studio 作为参照,讲一些在 Windows 平台上 Qt Creator 的使用体会与小技巧。
1.工程文件与项目组织结构
VC6 之前都是使用 dsw 文件(之后是 sln )来管理软件工程的(新版的 VC 提供 dsw 转换工具),每个 dsw 中可以有很多 dsp ,即项目文件。每个 dsp 中都可以包含任意多的 .h.cpp.rc 文件,每个 dsp 都可以单独编译。可以编译成 exe 或 dll 或 ocx 等等。一个 dsw 中的所有 dsp 也可以一起编译,而且各个 dsp 之间可以设定依存关系。比如一个 dsp 叫 baseui ,一个叫 myapp 。其中 baseui 将编译成为 baseui.dll ,而 myapp 将编译成为 myapp.exe 。在 myapp 中需要用到 baseui 中的某个类或某个资源或某个函数,那么 myapp 的依存关系中就需要有 baseui 。设定好依存关系后,每次整体编译之前, baseui 就会先于 myapp 编译,从而保证 myapp 需要的 lib 在编译之前就已经具备。
在 Qt Creator 中,项目的组织文件是 pro 类型,它并不具备 dsw, dsp 那样的 2 级结构。它跟 dsw 或 dsp 文件一样,也是机器生成的文本文件。不过在 Qt Creator 中,你可能经常需要手动去编辑这个文件。下面是一个简单的 pro 文件:
TARGET = Test112
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
第 1 行“ TARGET ”定义了目标文件的名称;
第 2 行“ TEMPLATE ”定义了目标文件的类型, app 即可执行文件。 Lib 是库文件(可以使 dll ,也可以使使用静态链接的库或是 plugin );
“ SOURCES ”里定义了所有的 cpp 文件;
“ HEADERS ”里定义了所有的 h 文件;
“ FORMS ”里定义了所有的 ui 文件(可以在 Qt Creator 中进行可视化编辑的界面类);
这里多说一下, ui 文件经过 qmake 之后会生成 ui_ 开头的一个 .h 文件,里面由程序自动生成一个新的 UI 类,类里面把可视化编辑的界面元素都用代码写出来。在 ui 文件对应的类中,这个自动生成的 ui 类会被 new 一个新的实例,用于协助开发人员。
不知道我说明白了没有,就是 ui 文件会帮助开发人员生成一些界面相关的代码,然而这些代码是以另一个新的类的成员变量及代码的形式被用于原来那个界面类的。(汗啊,我都说累了)我一直不明白为什么 Qt Creator 不像 VC 那样直接去修改原有类的代码。难道这个实现起来很困难吗?我打开 .ui 文件看过,它其实是界面的一个 xml 文件描述。忘记在哪里看到这种实现有一个优点就是如果程序界面部分写的足够灵活的话,程序升级时如果只涉及到界面,那么可以只下载这个 ui 文件进行升级即可。这个特性可能会让那些 saas 软件开发人员欣喜若狂。但对于大部分 desktop app 开发人员来说,还是有点让人迷惑。好在 Qt 中有 signal/slot 可用于 widget 与界面类(如 dialog )之间传递消息,否则这种中间加一层“假父类”的实现方式是在是让人难以接受。
Pro 文件说了这么多,足以说明 Qt Creator 在项目管理与设置上并不是特别友好。与 VC (甚至 VC6 )相比都有较大差距。编辑 pro 文件使我想起了 N 年前使用命令行方式编写 turbo C 程序。呵呵,可能开源软件就是这个范儿?
关于 pro 文件,还有很多内容需要开发人员去了解。我会专门写个 tip 。
2. IDE 界面
VC 的界面很经典
您可能关注的文档
最近下载
- 专业月嫂服务合同范本及注意细节.docx VIP
- 《煤化学》全套教学课件.pdf
- 铁路工程沉降变形观测作业指导书.docx VIP
- tsg zf001-2006 《安全阀安全技术监察规程》新.pdf VIP
- 2024年山东省淄博市高青县中考一模英语试题.docx VIP
- 2015款一汽大众高尔夫_汽车使用手册用户操作图示图解详解驾驶指南车主车辆说明书电子版.pdf
- 铁路工程沉降变形观测与评估技术2015年稿.pdf VIP
- JBL JBL专业 无线麦克风系统 VM200 用户手册.pdf
- 相贯体的投影与相贯线一相贯体及相贯线的概念相贯体两相交的立体相贯线相交立体表面的交线立体相贯三种情.ppt VIP
- 妊娠期心肺复苏中国急诊专家共识测试卷及答案.docx
原创力文档

文档评论(0)