Qt 应用程序的一种插件化设计思路

来源:互联网 发布:tomcat部署java项目 编辑:程序博客网 时间:2024/05/01 04:03

以下内用转自

https://www.devbean.net/2012/01/a-qt-pro-design-method/


Qt 框架内置了插件机制,这给我们的模块化设计提供了一种思路,就是利用 Qt 的插件机制来实现模块化设计。例如,我们可以将主程序、GUI、业务逻辑做成三个模块——所谓模块,我们可以从表现形式上理解成就是一个 .dll 文件。本文所要阐述的重点,就是如何针对这种设计编写 .pro 文件。

假设我们的项目文件结构如下所示:

显而易见,我们应该将 .pro 文件的 TEMPLATE 设置为 subdirs,而 SUBDIRS 则是 gui、logic 两个目录。但是,将 TEMPLATE 设置为 subdirs 有一个问题:会将各个 .pro 文件的 TEMPLPATE 或者 TARGET 变量设置得很乱。SUBDIRS 最适合于仅仅指定子目录,因此,不建议在 TEMPLATE = SUBDIRS 的 .pro 文件中同时设置 SOURCES 变量。

我们重新调整下目录结构:

project.pro 中的内容为:

common.pri 中的内容为:

logic/logic.pro 中的内容为:

gui/gui.pro 中的内容为:

build/build.pro 中的内容为:

此时,我们直接编译 project.pro 项目文件,就可以得到一个分开编译好的程序文件。

这里仅提供一种设计思路,供大家思考。本文思路出自 http://stackoverflow.com/questions/1417776/how-to-use-qmakes-subdirs-template


原创粉丝点击