Qt 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Qt 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Qt 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Qt 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Qt 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

Qt 是一种更快,更智能的方式来为多个屏幕创建创新的设备、现代用户界面和应用程序。它是一个跨平台的C++应用程序开发框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发图形用户界面程序,也可用于开发非图形用户界面(比如命令行界面)程序。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。

基本上,Qt 同 X11上的GTK、Motif、Openwin和Windows上的MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 支持更多的平台(包括WindowsGNU/LinuxMac OS XAndroidiOSWinCEUnix家族等),面向对象且模块化程度更高(Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单)。

丰富的API(Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能),支持 2D/3D 图形渲染支持 OpenGL、大量的开发文档、XML支持等。

Qt的特点

  • 优良的跨平台特性
  • 支持面向对象
  • 丰富的 API
  • 支持 2D/3D 图形渲染,支持 OpenGL
  • 大量的开发文档
  • XML 支持

我们所使用的 Qt,确切地说也就是它的 GUI 编程部分。C++ 的 GUI 编程同 Java 不同:GUI 并不是 C++ 标准的一部分。所以,如果使用 Java,那么你最好的选择就是 AWT/Swing,或者也可以使SWT/JFace,但是,C++ 的 GUI 编程给了你更多的选择:wxWidWget、GTK++ 以及 Qt。

Qt Creator

Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境,并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的集成开发环境。Qt Creator包含了一套用于创建和测试基于Qt应用程序的高效工具,包括:

  • C++代码编辑器
  • 上下文感知帮助系统
  • 可视化调试器
  • 源代码管理
  • 项目和构建管理工具

Qt Linguist被称为Qt语言家。它的主要任务只是读取翻译文件、为翻译人员提供友好的翻译界面,它是用于界面国际化的重要工具。 Qt Linguist工具从4.5开始可以支持Gettext的PO文件格式。

Qt 和智能手机

Qt 目前支持主流的 Android、iOS、WinPhone 等智能机操作系统。MeeGo 是基于 Qt 开发的操作系统,由于被诺基亚抛弃了, 只剩一代绝版诺基亚 N9 手机。诺基亚手机部门出售给微软之后,大部分诺基亚手机系统开发人员都被遣散了。

原来诺基亚的一部分人成立新的 Jolla(卓蓝)公司,发布了 MeeGo 的衍生版智能手机系统 Sailfish(旗鱼),相应的手机和平板也发布开卖了。另一拨人投靠了 Tizen(泰泽),Tizen 是英特尔和三星力推的智能手机系统,该系统整合了 Limo 和 MeeGo,因为 MeeGo 系统被诺基亚抛弃,英特尔其实是被出卖了,所以只能联合三星重造智能手机系统 Tizen。

目前基于 Tizen 的首款手机三星 Z1 在印度上市了。在 Tizen 阵营,国内有中兴、百度涉及了。 Qt 公司有专门针对移动开发的商业版本,20 欧元或 25 美元一个月。不做商业可以无视这个,用开源版本也是可以开发如 Android、iOS、WinPhone 应用的。

应用范围

Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。

Qt 是应用程序开发的一站式解决方案,有了 Qt,你就可以高枕无忧了!Qt 本身包含的模块也日益丰富, 一直有新模块和第三方模块加入进来。 大部分应用程序都可以使用 Qt 实现,除了与计算机底层结合特别紧密的,例如驱动开发,它直接使用硬件提供的编程接口,而不能使用操作系统自带的函数库。

下面的软件都使用 Qt 开发:WPS、YY语音、Skype、豆瓣电台、虾米音乐、淘宝助理、千牛、暴雪的战网客户端、VirtualBox、Opera、咪咕音乐、谷歌地图、Photoshop Album 等。 Linux 也是嵌入式的主力军,广泛应用于消费类电子、工业控制、军工电子、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等相关行业。

Qt 虽然也支持手机操作系统,但是由于 Android 本身已经有 Java 和 Kotlin,iOS 本身已经有 Objective-C 和 Swift,所以 Qt 在移动端的市场份额几乎可以忽略。总起来说,Qt 主要用于桌面程序开发和嵌入式开发。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (35)

加载中
该评论暂时无法显示,详情咨询 QQ 群:912889742
Qt只有一点我不喜欢,就是它不是原生C++,而是Qt版本的C++
2020/11/25 13:10
回复
举报
GOSP在不依赖Qt的前提下,提供了类似Qt的API接口,仅需要几百KB的硬件资源(比Qt小的多),能运行在Qt不支持的低性能领域(对Qt形成补充)。 https://gitee.com/giveda/GOSP
2020/04/10 10:41
回复
举报
商业本来就是为了赚钱的 收费不可怕 可怕的是 学不会
2020/01/29 09:48
回复
举报
学无止境😄
2020/03/25 08:43
回复
举报
该评论暂时无法显示,详情咨询 QQ 群:912889742
该评论暂时无法显示,详情咨询 QQ 群:912889742
qt 商业应用要授权,收费
2019/04/08 13:37
回复
举报
留一个淘宝优惠券平台http://www.qiangpinzhe.com/?trackid=NzYwMDI4MDQw
2018/06/16 16:44
回复
举报
2017/12/10 08:11
回复
举报
留一个阿里云优惠券:www.izhuanyer.com
2017/10/22 09:21
回复
举报
Qt很强大#Qt#
2017/09/24 17:05
回复
举报
更多评论
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2012/07/10 15:55

为什么QT可以兼用GPL和商业授权?

既然GPL源码是由许多程序员贡献的,为什么Qt却可以把GPL源码用作商业授权? 也就是客户购买了Qt的商业授权许可后,开发的产品可以不公开源代码. 另外MySQL也有类似Qt的这种授权. 附: Qt FAQ http://qt.nokia.com/about-us-cn/licensing/frequently-asked-questions

25
0
发表了问答
2016/11/25 16:37

智能疏散系统项目源码分享

说明: 1、项目源码基于QT5.5 Android SDK4.4 以上的开发环境 2、分享内容包括Android app信息中心项目源码、信息中心服务器源码、数据库表结构(oracle) 3、项目功能可以参考界面 4、需要源码联系QQ:305509372

1
0
发表了问答
2016/07/13 17:26

QT读取xls过程中的问题

最近写的xls属性过滤器中,因为要读取大量的数据,用的是QT中的QAxobject来打开获取xls的各类指针: [align=center] QAxObject excel("Excel.Application"); excel.setProperty("Visible",false); QAxObject *workbooks = excel.querySubObject("WorkBooks"); workbooks->dynamicCall("Open (const QString&)",str); QAxObject *workbook = excel.querySubObject("ActiveWorkBook"); QAxObject *worksheets = workbook->queryS...

2
0
发表于数据库专区
2020/09/29 21:02

QT 频繁连接mysql数据库, 并且查询新增等操作, 会出现异常

日志名称: Application 来源: Application Error 日期: 2020/9/11 11:13:58 事件 ID: 1000 任务类别: (100) 级别: 错误 关键字: 经典 用户: 暂缺 计算机: iZgr0q6m66drdwZ 描述: 错误应用程序名称: SpiritErver.exe,版本: 0.0.0.0,时间戳: 0x5f5a1d2f 错误模块名称: Qt5Sql.dll,版本: 5.12.2.0,时间戳: 0x5c8160f0 异常代码: 0xc0000005 错误偏移量: 0x00002fb5 错误进程 ID: 0x878 错误应用程序启动时间: 0x01d687d8c5aad...

3
0
发表于开发技能专区
2018/09/22 20:02

Qt5.11 静态编译生成的exe仍然有要依赖的DLL

我的Qt套件是自己静态编译Qt5.11的源码然后弄出来的 本来以为静态编译之后出来的exe就什么都不要依赖了,只要一个EXE就能到处运行 后来发现不行 如图 然后找了一波 QT\Tools\mingw530_32\bin\ 然后就发现竟然要这么多DLL 尴尬死了现在 求dalao帮忙看看怎么处理 要是要这么多DLL的话那还不如直接动态编译然后带一堆库算了

3
2
发表于大前端专区
2019/05/21 15:25

Qt label中设置文字

如果widget上面有5个Label,这个5个Label的objectName是分别为Label1、Label2、Label3、Label4、Label5,我封装了一个函数,函数作用时清空某一个Label的内容,fun(QString str),str可能为“Label1”、“Label2”、“Label3”、“Label4”、“Label5”,内容时那个Label,就清空那个Label。怎么写这个函数?...

1
0
发表了问答
2012/08/06 11:35

希望“开源中国”组织力量收购QT

希望“开源中国”组织力量收购QT 传诺基亚计划出售跨平台开发工具Qt http://www.yangtse.com/system/2012/08/03/014002205.shtml 只要国人 都出一点点力量,世界就是中国的

17
1
发表了问答
2010/09/22 23:13

用QT在Windows下编写dll程序

因为QT必须有调用QApplication的exec方法,这样才能产生消息循环,QT的程序才可以运行。所以说如果我们使用了QT编写了dll程序,在普通的 windows程序中是不能调用的。在调用的时候会出现错误。当然QT提供了解决方法:那就是QTWinmigrate 这里是QT官方网站对QTWinmigrate的介绍: http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Windows/qtwinmigrate 下面我来介绍一下使用QTWinmigrate来编写dll的方法。 首先,...

7
7
发表于大前端专区
2019/11/13 10:27

QT的QML里面的Canvas, 绘制文字比较慢,能加速吗?

我用 Qt QML里面的Canvas绘制东西。 绘制直线和圆弧很快,但绘制文字很慢。 当绘制1000多条文字时,软件很卡。 有解决的办法吗?

1
0
发表了问答
2013/05/22 18:37

初识Qt绘图QGraphicsItem

最近学习Qt绘图,花了很长的时间,也费了一些心思,好在有所收获,也不枉这几个月的各种苦熬,在这里做一些总结。如题目所说,这也只是初识QGraphicsItem,我需要做的是继续往后学习,只是希望能够帮助一下那些初学Qt绘图的同学,如有不足,还请多多指教。(当然,我觉得有必要说一下我的Qt版本:Qt 4.8.1 SDK). 首先,这里显示图形的窗口为QGraphicsView,我们可以直接从Qt可视化编程的窗口当中直接拖拽到我们需要绘制图形的窗体...

3
6
发表了问答
2014/03/22 17:59

Qt 中如何编译 MediaInfo 库的源代码?

我想用Qt写一个获得多媒体类文件详细信息的小工具,想使用MediaInfo的库,希望能把MediaInfo的源码直接编译进整个工程里。我尝试过将Source文件直接扔到Qt的pro文件里面,但是不能完成编译。想请教一下,怎样才能把MediaInfo的源代码编译进来?

3
1
发表于大前端专区
2019/12/27 19:37

Qt Android的版本 和 NDK版本,怎么搭配?

我之前用的Qt 5.9.7, 搭配Android NDK 10c,可以正常运行。 后来,我换成Qt 5.12.5,再搭配Android NDK 10c, 无法编译程序。 这个是什么原因?版本之间是应该怎么搭配?

2
0
发表了问答
2009/01/17 00:35

Qt 简介

Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech 公司出品,目前包括Qt, 基于 Framebuffer 的 Qt Embedded,快速开发工具 Qt Designer,国际化工具 Qt Linguist 等部分 Qt 支持所有 Unix 系统,当然也包括 Linux,还支持 WinNT/Win2k,Win95/98 平台。 基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具有下列优点: 优良的跨平台特性...

2
2
发表于大前端专区
2019/11/14 17:52

linux 显示视频的问题

用qt写的框架,收到的数据是YUV的裸数据,怎么显示最快,占用cpu最少?1s中来120张图片。是不是会用到opengl或者sdl,集成的inter显卡。

1
0
发表于大前端专区
2019/11/13 09:33

Qt QML的 Control,用哪个版本比较好?

QtQuick.Controls 1.X QtQuick.Controls 2.X 加起来,有很多个版本了,不知道用哪一个。

1
0
发表于大前端专区
2019/10/30 17:38

Qt使用QCommandLineParser写的程序,在cmd执行-h时,会单独弹出一个框,而不是直接在cmd输出字符,请问怎么样才能通过直接在cmd输出字符来执行-h命令?

1
0
发表了问答
2019/10/19 22:49

【一周】sudo漏洞、Fuchsia新进展 | AWS赞助Rust、Python 3.8、Perl 6新名

回顾一周社区热门资讯 第【四十四】期:20191012-20191018 点击相应标题,跳转阅读全文。 VS Code 1.39 发布,Web 版 VS Code 可能不远了 微软不允许用户卸载 Chromium Edge 浏览器 微软不允许用户从 Windows 10 中卸载 Chromium Edge 浏览器,现在基于 Chromium 的 Edge 浏览器不再出现在控制面板的“程序和功能“中,也不再出现在设置中的“应用和功能”中。不仅如此,在“开始”菜单中也不再列出 Legacy Edge,一旦用户从 Mi...

1
6
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
35 评论
461 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部