Qt开发入门简介

这篇博客介绍了Qt开发的基础知识,包括Qt的跨平台特性、Qt Creator的使用、Qt工程设置、Qt程序在Mac App Store的发布流程。内容涵盖Qt基础知识、QWidget与Qt Quick的区别、Qt Quick与QML的介绍,以及Qt开发环境的搭建。适合初学者了解和入门Qt开发。
摘要由CSDN通过智能技术生成

 Qt开发入门简介

 

内容主要有Qt基础知识,Qt Creator的使用,Qt工程设置,Qt 程序如何打包并提交到Mac App Store,Qt Widgets程序和Qt Quick程序,生成Xcode工程。

 

1 Qt 基础知识

 

概述

 

Qt提供了一个跨平台(Windows, Mac OS, Linux, Android, iOS等)的应用程序开发框架,并提供了非常丰富的跨平台类库。简单来说实现方式是通过定义一套中间类库,屏蔽各个操作系统细节,从而使应用开发者绝大多数情况下只依赖Qt的类库,而很少需要了解操作系统细节。Qt并不是像Java那样利用虚拟机机制实现跨平台,而是在编译期生成在该操作系统上可运行的二进制文件,一份代码,可以在不同的操作系统上编译,从而实现代码跨平台。

 

开发语言

 

Qt的原生开发语言是C++,同时Qt在标准C++的基础上封装了自己的很多机制以方便应用开发,例如有用来代替Callback的SIGNAL/SLOT机制,也有Property机制,序列化机制等等。更强大的是,Qt不仅可以用C++开发,同时也提供了大量其他语言的绑定,例如: python、java、Lua、Ada、Ruby等等,当然也少不了大PHP,详细列表可参见: http://wiki.qt.io/Category:LanguageBindings。有人说怎么没有万能的Javascript….其实是有的,有个东西叫QML,就是用Javascript-like的语言以及CSS来描述应用的外观和行为的。

 

QWidget和Qt Quick

 

QWidget对应的是最基础的窗口和控件系统,这对于任何一个GUI应用程序都是最为基础的类库,因此在Qt诞生之初就存在。类似于Mac上Cocoa那一套。Qt Quick是Qt4.7之后引入的基于QML(类似Javascript + CSS)来快速生成动态UI的工具集,专门为移动开发优化,如果之前有Javascript和CSS开发经历,应该会对QML上手较快。

 

QWidget和QLayout

 

几乎所有GUI系统对于Widget和Layout这两个词汇都会涉及,但都会有或多或少的差别。例如,在Android系统中对应于Widget概念的 是View(Widget这个词汇在Android里边是指桌面小部件),提供了基础的绘制、事件响应和处理等功能, 对应于Layout的是ViewGroup这个概念,继承自View,也提供了绘制、事件响应和处理等功能,同时还提供了子View的管理功能,继承于 ViewGroup的LinearLayout, RelativeLayout等实现了线性的或者相对的布局等功能。再例如,iOS中相对于Widget这个概念的是UIView类,但iOS要灵活的 多,UIView既提供了绘制、事件响应,又提供了子View管理以及布局的功能。 同样在Qt的世界里也有这两个概念,相同的是QWidget也实现了绘制、事件处理等功能,但QLayout并不继承自QWidget,只是为了方便 QWidget对子Widget进行布局的一个类,所以并不实现绘制、事件处理等功能,每个QLayout最多会有一个主Widget(所谓主 Widget是指该Layout管理这个Widget的子Widget)࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值