Qt中的项目类型(二)

        使用Qt进行软件开发,第一个要考虑的问题就是为需要开发的软件,选择一个合适的Qt项目类型。

Qt中的项目类型有:

Application: “应用”项目,项目编译结果是可执行程序。

Library:         “库”项目,  项目编译结果是静态库或动态库。

其他项目:  辅助类项目。

Non-Qt Project: “非Qt应用”项目。

在软件开发实践中,主要用来的是Application,Library以及其他项目中的“子目录”类型项目。

 一、Application项目

“Application”项目,分为三类:桌面应用类的Qt Widgets Application, Qt Console Application;

使用Python语言进行开发的Qt for Python - Empty,Qt for Python - Window;以及基于QML语言进行UI设计的Qt Quick Application。

2.1、Qt Widgets Application

Qt QWidgetsQt 提供的一些开箱既见、所见即所得看起来就像Windows等桌面平台的原生控件(在移动平台,如Andriod 和 IOS 上,没有对应原生风格的小组件)并且非常依赖主流语言(C++或Python等)API的一种界面开发框架类似VS 的MFC

Qt QWidgets 通常不用来做动画效果。虽然我们可以通过编写代码实现复杂的动画,但是编码过程往往会非常的难,非常的复杂。即便我们强行实现了要求的动画效果,也不一定是我们想要的或者非常流畅的UI动画,有时候动画伴随的是复杂的计算,CPU的飙升,带来的往往会不同程度的卡顿。

如果项目是只运行在PC端,选用Qt Widgets Application类型项目是合适的。

2.2 Qt Quick Application

QML(Qt Meta-Object Language,Qt元对象语言)是一种用于描述应用程序用户界面的声明式编程语言。Qt Quick是一个编写QML应用的标准库,Qt Quick 通常使用基于JS的 QML 来编写代码,用基于C++ 或者Python 的代码来帮助通讯,例如连接到后端。

Qt Quick模块提供了两种接口:

  1. 使用QML语言创建应用的QML接口;
  2. 使用C++语言扩展QML的C++接口。

使用Qt Quick模块,设计人员和开发人员可以轻松地构建流畅的动态式QML用户界面,并且在需要的时候,可以将这些用户界面连接到任何C++后端。

Qt Quick 可以在所有平台上使用,并使用原生图形后端进行渲染,比如Metal 或者 Mac OS, 我们也可以在自己为Qt Quick编写的项目中,直接使用原生图形系统进行渲染,对硬件资源利用率更高。使用 Qt Quick可以更容易的实现流畅的用户界面,以及复杂的动画效果。通过现有的控件或基本的Qt Quick 类型,我们也可以定制或者编写自己想要的控件。

Qt Quick可以开发PC端和移动端应用。

对PC端应用:

如果只需要一个简单的UI,对动画效果要求不高的话,使用Qt QWidget 它有很多现成的组件可以使用,根据需求进行拼装即可,无需太多操作。

如果需要炫酷的界面,更加流畅的动画,使用Qt Quick。

如果需要跨平台(Linux,MacOS,Windows),使用Qt Quick。

移动端应用:只有选择Qt Quick。

二、Library项目

“Library”类型项目,最多使用的是C++ Library(静态库、动态库)。

需要注意的是Qt module的选择。

None: 项目不使用Qt的任何模块。

Core:项目使用Qt的Core模块,不涉及任何GUI。

GUI:  项目使用Qt的Gui模块。

Widgets:项目使用Qt的Widgets模块。

其他项目-子目录项目

如果项目比较大型、复杂,一般会把项目分解成多个子项目来进行管理。“子目录项目”是Qt用来管理大型项目开发的一类项目类型。

“子目录项目”下面可以添加其他类型项目,包括“子目录项目”,从而形成一颗项目树。顶层“子目录项目”与VS的Solution(解决方案)等价。

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值