精华内容
下载资源
问答
  • 利用Qt5.8编程实现了儒略和儒略的相互转化,计算时间从-4712年1月1.5开始,没有结束时间限制。
  • qt 实现运行日志

    2019-04-26 11:44:13
    qt 实现日志打印功能,通过调用QsLog2,实现记录日志功能,代码下载调试,代码实现很清楚,功能完整,可以实现强大功能,打印日志。 qt 实现日志打印功能,通过调用QsLog2,实现记录日志功能,代码下载调试,代码...
  • Qt公司于2020年12月8发布了Qt 6.0.0。代码库中进行了许多更改,主要是Qt决定最终qmake作为构建系统。 由于这是一个重大更改,因此我不打算在此存储库中为Qt 6提供构建映像。 相反,我目前正在通过一个单独的存储...
  • QT5历源码

    2017-06-25 09:44:32
    3个QT5历源码
  • QT常用函数集合工程

    2020-05-25 16:15:49
    此工程实现获取当前工程目录、获取指定目录下的所有文件名、获取系统当前时间、获取自1970.1.1以来到当前时间的毫秒数、打开选择目录的对话框、打开选择目录的对话框、打开选择文件路径的对话框、打开选择保存文件...
  • Qt参考手册 v5.9.chm

    2019-08-23 05:17:33
    最近开发又需要用QT了,找不到文档,自己写了个代码打包了一下QT官网的文档2019-08-22下载的(整站下载用的WinHTTrack Website Copier 3.48-19)。 Qt参考手册 v5.9.chm, Qt帮助文档 v5.9.chm, 包含了Qt-Creator...
  • Qt绘制时间轴demo

    2019-06-18 17:07:16
    通过QT中 QPainter来绘制的一个监控回放时间轴demo,实现了年 月 时的显示、缩放与拖拽 注:该版本存在bug,新版本见:https://download.csdn.net/download/qq_25884511/11256550
  • qt 定制日期时间控件

    2017-11-21 14:38:24
    定制QDateTimeEdit控件,采用qt5.9vs版编译,下拉选择年份月份
  • 日期时刻设定整合。日历点选日期,时分秒滚动式设定时刻,可鼠标拖动,可滚轮滚动,可鼠标点选。qt5.0
  • 使用Go + Qt5编写(非Qt绑定)。 所下载的音频视频版权归所有,取消商业用途! 喜马拉雅已开始封禁账号,请酌情使用本工具!否则后果自负! 注意:因喜马拉雅PC名义汇率限制,现在每个账号单只能下载250条VIP,...
  • 分享一个Qt实现的滑动设置自定义控件,常用于设置时间,还有一些其他的类似设置; 没有积分的朋友私信我
  • 通过QT中 QPainter来绘制的一个监控回放时间轴demo,实现了年 月 时的显示、缩放与拖拽(之前上传一个版本发现有bug,该版本为修复后的版本)
  • qt日历控件

    2017-05-08 10:39:28
    qt5.7.0写的一个简单的日历控件代码
  • QT日历程序

    2019-04-12 15:13:10
    QT做的日历小程序,可以实现按照月份翻页,供大家参考使用
  • QtQt简介

    千次阅读 2019-04-02 20:22:28
    00. 目录 文章目录00. 目录01. Qt简介02. Qt的历史03. 支持平台04. Qt的优点05. Qt Creator介绍06. Qt Creator功能和优势07....​ Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既...

    00. 目录

    01. Qt简介

    ​ Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOSAndroidWP,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。

    02. Qt的历史

    • 1991–Haavard Nord和Eirik Chambe-Eng开始开发将会支持X11和Windows的Qt
    • 1994–Qt Company成立

    • 1996–KDE项目由MatthiasEttrich创建(Matthias现为诺基亚Qt发展框架工作)

    • 1998 Apr 05Trolltech的程序员在 5 天之内将 Netscape5.0 从Motif移植到 Qt 上

    • 1998 Apr 08 KDE Free Qt 基金会成立

    • 1998 Jul 09 Qt 1.40 发布

    • 1998 Jul 12 KDE 1.0 发布

    • 1999 Mar 04QPL1.0 发布

    • 1999 Mar 12 Qt 1.44 发布

    • 1999 Jun 25 Qt 2.0 发布

    • 1999 Sep 13 KDE 1.1.2 发布

    • 2000 Mar 20 嵌入式Qt 发布

    • 2000 Sep 06 Qt 2.2 发布

    • 2000 Oct 05 Qt 2.2.1 发布

    • 2000 Oct 30 Qt/Embedded 开始使用GPL宣言

    • 2000 Sep 04 Qt free edition 开始使用 GPL

    • 2008 Nokia从Trolltech公司收购Qt,并增加LGPL的授权模式

    • 2011 Digia从Nokia收购了Qt的商业版权,从此Nokia负责Qt on Mobile,,Qt Commercial由Digia负责

    • 根据最新消息,NOKIA已经停止Meltemi系统开发,Qt部门被解散

    • 2012 Aug 09 作为非核心资产剥离计划的一部分,诺基亚宣布将Qt软件业务出售给芬兰IT服务公司Digia。

    • 2013年7月3日,Digia公司Qt开发团队在其官方博客上宣布Qt 5.1正式版发布。

    • 2013年12月11日,Digia公司Qt开发团队宣布Qt 5.2正式版发布。

    • 2014年4月,Digia公司Qt开发团队宣布Qt Creator 3.1.0正式版发布。

    • 2014年5月20日,Digia公司Qt开发团队宣布Qt 5.3正式版发布。

    03. 支持平台

    Qt支持下述平台:

    3.1 MS/Windows - 95、98、NT4.0、ME、2000、XP 、Vista、Win7、win8、win2008、win10
    3.2 Unix/X11-Linux、SunSolaris、HP-UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、FreeBSD、BSD/OS和其它很多X11平台
    3.3 Macintosh -Mac OS X
    3.4 Embedded - 有帧缓冲(framebuffer)支持的嵌入式Linux平台,Windows CE

    3.5 Symbian、Symbian^3、Symbian Anna、Symbian Belle、MeeGo

    04. Qt的优点

    Qt同X Window上的 Motif、Openwin、GTK 等图形界面库和 Windows平台上的 MFC、OWL、VCL、ATL是同类型的东西,但是 Qt 具有下列优点.

    优良的跨平台特性:
    Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。

    面向对象
    Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。

    丰富的 API
    Qt包括多达250个以上的C++类,还替供基于模板的collections、serialization、 file、I/O device、 directory management、date/time 类。甚至还包括正则表达式的处理功能。

    支持 2D/3D 图形渲染,支持 OpenGL

    xml支持

    05. Qt Creator介绍

    ​ Qt Creator是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。

    ​ Qt Creator 包括项目生成向导、高级的 C++ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端,集成 qmake 构建工具等。

    06. Qt Creator功能和优势

    Qt Creator 主要是为了帮助新 Qt 用户更快速入门并运行项目,还可提高有经验的 Qt 开发人员的工作效率。

    使用强大的 C++ 代码编辑器可快速编写代码

    ​ 语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能

    使用浏览工具管理源代码

    ​ 集成了领先的版本控制软件,包括 Git、Perforce 和 Subversion开放式文件,无须知晓确切的名称或位置搜索类和文件跨不同位置或文件沿用符号在头文件和源文件,或在声明和定义之间切换

    为 Qt跨平台开发人员的需求而量身定制

    ​ 集成了特定于 Qt 的功能,如信号与槽 (Signals & Slots)图示调试器, 对 Qt 类结构可一目了然集成了 Qt Designer 可视化布局和格式构建器只需单击一下就可生成和运行 Qt 项目

    07. Qt Designer

    ​ Qt Designer被称为Qt设计师,用于设计和构建图形用户界面(Qt Widgets)。你可以组合和自定义窗口或对话框(所见即所得),并使用不同的风格和分辨率进行测试。用Qt Designer创建的窗口部件和表格无缝集成编程代码,采用Qt信号和槽机制,这样就可以轻松地分配图形元素的行为。在Qt设计师中设置的所有属性可以动态地在代码中进行更改。此外,类似插件推广和自定义插件功能,可以使用自己的组件来使用Qt Designer。

    ​ 注意:你也可以选择使用Qt Quick来设计用户界面,而不是Qt Widgets。这样更容易写各种各样的应用。它可以完全定制外观,触摸反应的元素,流畅的动画过渡,支持OpenGL图形加速功能。如果刚接触Qt Designer,可以看看Qt设计师文档。有关如何使用Qt设计师,请参阅Qt设计师快速入门。

    08. Qt Linguist

    ​ Qt Linguist被称为Qt语言家。主要任务是读取翻译文件、为翻译人员提供友好的翻译界面,是用于界面国际化的重要工具。它能帮助你很容易读懂C++语言。

    使用方式
    lupdate可以把.h、.cpp、.ui中需要翻译的字符串提取出来形成.ts文件,然后用linguist翻译。用lerealse生成.qm。

    翻译一个含有tr()调用的Qt应用程序需要以下三步:

    1. 运行ludate,从应用程序的源代码中提取所有用户可见的字符串。
    2. 使用Qt Linguist翻译该应用程序。
    3. 运行lrelease,生成二进制.qm文件,应用程序可以使用QTranslator加载这个文件。
      如果开发工程中出现翻译改动,可以多次执行此过程!

    09.Qt Assistant

    Qt Assistant被称为Qt助手,是Qt自带的一款可定制、可重新发行的帮助文件浏览器。它支持HTML文件,用户可以利用其定制自己的功能强大的帮助文档浏览器。

    ##10. Qt Quick介绍

    ​ Qt Quick是在Qt4.7中被引进的一项技术。Qt Quick 是一种高级用户界面技术,开发人员和设计人员可用它协同创建动画触摸式用户界面和应用程序。它由三部分构成:1.QML:像 JavaScript 一样的声明式语言;2. Qt Creator:在 Qt IDE中的直观工具;3. Qt Declarative:强大的 C++ 模块。

    1.主要组成:

    • **QML:**基于 JavaScript 的直观语言 :QML 是一种简便易用的语言,开发人员与用户界面设计人员无需任何 C++ 知识,即可用其描绘出用户界面的外观和功能。
    • **面向开发人员和设计人员的共享工具:**Qt Creator IDE2.1 版将集成一套开发人员与用户界面设计人员可共享,用以创建和实施 Qt Quick 项目的通用工具。
    • 通过 C++ 推动 QML **应用程序:**在 Qt 库中的全新Declarative 模块支持生成动态可定制的用户界面,以及通过 C++ 拓展 QML 应用程序。

    2.功能特点:

    • **快速开发动画式流畅多变的用户界面:**通过直观的 QML 语言和一套丰富的 QMLElements——UI 和行为生成块——您可以快速创建出令人印象深刻的用户界面,比您想象的还要快。
    • 无需 C++ **知识:**如果您具有 JavaScript 的经验或掌握基本的网络技术 (如 HTML 和 CSS),您就可以通过 QML 取得非常不错的成果。
    • **瞄准数以百万计的触摸屏设备:**使用 Qt Quick,您可以为数以百万计的 Symbian 和 MeeGo 设备生成应用程序,或为各种类型的触摸屏消费类电子设备创建用户界面。

    3.应用领域:

    • **汽车信息娱乐系统 UI:**Cybercom Group 的用户界面设计人员与开发人员尝试使用 Qt Quick 为其汽车信息娱乐平台设计 UI——并取得了令人满意的结果。
    • **社交媒体电视:**mixd.tv 使用 Qt Quick 为其跨平台网络电视应用程序创建 UI,其用户可以通过社交媒体频道访问和共享在线视频的内容。
    • **联网汽车:**Qt 的认证合作伙伴 Digia 很快学会了 Qt Quick 并用其创建出了包括导航、电话、游戏和音乐功能的高级汽车 UI。

    11. Qt应用实例

    一些著名的例子如下:

    3DSlicer, a free open source software for visualization and medical image computing

    AcetoneISO:镜像文件挂载软件

    Adobe Photoshop Album,一个图像组织应用程序 [35]

    Arora:一款跨平台的开源网页浏览器

    Autodesk MotionBuilder, 三维角色动画软件

    Autodesk Maya, 3D建模和动画软件

    Avidemux, a Free Software program designed for multi-purpose video editing and processing

    Avogadro:高级分子编辑器

    Battle.net**:**暴雪公司开发的游戏对战平台

    BOUML,一个免费的统一建模语言工具箱

    Bitcoin:比特币

    chmcreator:开源的chm开发工具

    CineFX:一款跨平台、开源、免费、影片剪辑,特效与合成套装

    CoCoA, a software for computations in commutative algebra

    Dash Express, an Internet-enabled personal navigation device

    DAZ Studio, a 3D figure illustration/animation application

    DoxygenAPI文件产生器

    EAGLE, tool for designing printed circuit boards(PCBs)

    EiskaltDC++, a program that uses the Direct Connect protocol.

    Emergent:神经网络模拟器。

    , a software product for the simulation of electromagnetic fields

    eva:Linux版QQ聊天软件。

    FreeCAD, a free and open source 3D-Solid and general purpose design CAD/CAE

    FreeMat:一个自由开源的数值计算环境和编程语言

    Full Tilt Poker, one of the most popular online poker programs

    Gadu-Gadu:实时通信软件

    Gambas, A free development environment based on a Basic interpreter

    GoldenDict:一款开源的字典软件

    Google地球(Google Earth):三维虚拟地图软件。

    GNS:Cisco网络模拟器。

    Guitar Pro 6, a tablature editor

    刺猬大作战:一个基于百战天虫的开源游戏。

    Hydrogen, an advanced drum machine

    ImageVis3D, a volume ray-casting application

    Ipe:自由的矢量图形编辑器

    ISE Webpack, a freeware EDA tool for Windows and Linux developed by Xilinx

    Kadu, a Polish instant messenger using the Gadu-Gadu protocol

    KDELibs:一个许多KDE程序都使用的共享库,如Amarok、K3b、KDevelop、KOffice等。

    KeePassX, a multi-platform port of KeePass, an open source password manager for Microsoft Windows

    Launchy:一个开放源代码的快捷启动器

    LMMS:一个开放源代码的音乐编辑软件

    LyX:使用Qt作为界面的LaTeX软件。

    Mathematica:Linux和Windows版本使用Qt作为GUI

    **Maxwell Render,**a software package that aids in the production of photorealistic images from computer 3D model data

    Mixxx:跨平台的开放源代码DJ混音软件

    MuseScore,一个WYSIWYG的乐谱编辑器

    MythTV:开源的数字视频录制软件。

    Nuke, a node-based compositor(节点式的合成软件)

    PDFedit:自由的PDF编辑器

    PokerTH, an open source Texas hold 'em simulator

    Psi:一款XMPP网络协定的实时通信软件

    qBittorrent:自由的BitTorrent P2P客户端

    QCad:一个用于二维设计及绘图的CAD软件

    Qjackctl, a tool for controlling the JACK Audio Connection Kit

    QSvn, a GUI Subversion client for Linux, UNIX, Mac OS X and Windows

    Opera:著名的网页浏览器。

    Qt Creator, the free software cross-platform integrated development environment from Nokia

    Qterm:跨平台的BBS软件。

    Quantum GIS:自由的桌面GIS

    Quassel IRC:跨平台的IRC客户端

    RealFlow, a fluid and dynamics simulator for the 3D industry

    Recoll:桌面搜索工具

    Rosegarden, a free software digital audio workstation program

    SciDAVis, a cross-platform plotting and data analysis program

    Scribus:桌面排版软件。

    Skype:一个使用人数众多的基于P2P的VOIP聊天软件。

    SMPlayer:跨平台多媒体播放器

    Spotify, music streaming service.

    Stellarium:一款天文学的自由软件

    TeamSpeak:跨平台的音效通信软件

    Texmaker:一款跨平台的开放源代码LaTeX编辑器

    TeXworks, It is a graphical user interface to the typesetting system TeX.

    TOra, a database administration tool[36]

    UniversalIndentGUI,an application which helps the user to beautify, reformat or indent various kinds of code.

    **Valknut,**a program that uses the Direct Connect protocol

    VirtualBox:虚拟机软件。

    VisIt:一个开源型交互式并行可视化与图形分析工具,用于查看科学数据。

    VisTrails, a scientific workflow management and visualization system

    VLC多媒体播放器:一个体积小巧、功能强大的开源媒体播放器。

    VoxOx, a unified communications software.

    WordPress, based on Qt for Maemo and Symbian

    wpa supplicant, a free software implementation of an IEEE 802.11i

    Xconfig:Linux的Kernel配置工具

    咪咕音乐:咪咕音乐是中国移动倾力打造的正版音乐播放器

    **WPS Office:**金山软件公司推出的办公软件

    极品飞车:EA公司出品的著名赛车类游戏

    附录

    本节最后附上关于 Qt 的两个官方网站链接:
    Qt 商业公司:http://www.qt.io/
    Qt 开源项目:http://qt-project.org/

    展开全文
  • Qt 日历控件QCalendar

    2016-07-09 16:16:07
    系统的QCalendar控件不美观,控件的界面重新定制,包括字体,行间距,颜色,界面布局等。本资源中有两个程序实现功能是相同的,一个是可以用vs打开的项目,下载的别人的,一个是我自己用qt5重新编译可以使用的。
  • QT 删除文件夹

    2014-11-05 15:14:38
    在网上找了很多QT写的删除文件夹的源代码,使用了一段时间发现目录层级太多时无法删除某些文件,于是自己写了一个简短的递归删除文件夹的方法,不管多复杂的文件夹都能删掉
  • QT中分别获取当前时间的年、月、

    千次阅读 2020-11-07 09:58:17
    1.百度查了半天,没找到,就自己写了一个测试,其实也很简单,先用QDate去获取当前的时间,时间格式设置为"yyyy-MM-dd",也就是"年-月-"的格式,然后再利用字符串切割(strtok函数)去切割成独立的年、月、就OK...

    太久没写博客了,先简单记录一下

    1.百度查了半天,没找到,就自己写了一个测试,其实也很简单,先用QDate去获取当前的时间,时间格式设置为"yyyy-MM-dd",也就是"年-月-日"的格式,然后再利用字符串切割(strtok函数)去切割成独立的年、月、日就OK啦,代码如下(适合懒人一族,直接复制粘贴,哈哈^ _ ^)

    QDate currentdate = QDate::currentDate();
    QString str1 = currentdate.toString("yyyy-MM-dd");
    qDebug() << "str1 = " << str1;
    QByteArray ba = str1.toLatin1();//将QString 转换为 char *类型
    char *dateStr = ba.data();//将QString 转换为 char *类型
    char *year = strtok(dateStr,"-");
    char *month = strtok(NULL,"-");
    char *date = strtok(NULL,"-");
    qDebug() << "year is:" << year;
    qDebug() << "month is:" << month;
    qDebug() << "date is:" << date;
    

    2.运行结果如下:
    在这里插入图片描述

    展开全文
  • 1、支持18、16位身份证号码,支持2、4、6、8位生日格式(例:88,1988,198804,19880409); 2、周岁:计算日期-出生日期,不满的一年舍掉。虚岁计算日期的年份-出生日期的年份+1. 3、最小年龄和最大年龄用来设置输出...
  • Log4Qt.rar

    2020-03-05 23:24:57
    log4qt一般是pro文件。现已经转成vs2015对应sln。可自行编译即可。附带源码里面的测试demo。如果是vs开发的小伙伴可能需要
  • 基于C++和QT的小游戏

    2019-07-11 12:09:54
    于2019年7月11完成,基于C++和QT的小游戏,内含代码和setup安装包,安装后可直接运行。通过点击方格,移动人物,避开途中埋藏的炸弹,前往终点。简单易懂。
  • 该系统分为用户考勤打卡系统和管理员管理系统。...管理员管理系统的功能有 1、用户的信息进行录入; 2、查看当日考勤情况并进行统计 ;3、管理员发布和管理通知 ; 4、超级管理员添加和删除管理员
  • Qt 超级日记本

    2018-06-05 16:04:39
    Qt超级日记本V_1.0上更新,详细信息请到https://blog.csdn.net/lhk_int/article/details/80581901 去查看,技术上的问题,或更多功能添加请在评论区留言 可当Qt的毕业设计
  • QtQt发展历史

    2021-03-27 11:48:02
    Qt是什么02. Qt的历史03. Qt和KDE04. Qt和智能手机05. Qt历史发展06. 附录 01. Qt是什么 Qt是跨平台的开发库,主要是开发图形用户界面(Graphical User Interface,GUI)应用程序,当然也可以开发非图形的命令行...

    00. 目录

    01. Qt是什么

    Qt是跨平台的开发库,主要是开发图形用户界面(Graphical User Interface,GUI)应用程序,当然也可以开发非图形的命令行(Command User Interface,CUI)应用程序。 Qt支持众多的操作系统平台,如通用操作系统 Windows、Linux、Unix,智能手机系统 Android、iOS、WinPhone, 嵌入式系统 QNX、VxWorks 等等,应用广泛。当然 Qt 库本身包含的功能模块也日益丰富, 一直有新模块和第三方模块扩充。除了与操作系统底层结合特别紧密的,如驱动开发, 需要利用操作系统本身的函数库实现之外,其他大部分的应用程序开发都可以用 Qt 实现的。 Qt 是纯 C++ 开发的,所以学好 C++ 比较有必要。Qt 还存在 Python、Ruby、Perl 等脚本语言的绑定, 也就是说可以使用脚本语言开发基于 Qt 的程序。开源社区就是这样,好东西就会被派生扩展,到处使用, 越来越壮大。

    初学者关于 Qt 编程一个可能的困惑就是 QML 和 C++ 该用哪个来编程,在 Qt4 时代主流的是传统部件(或叫控件)编程,所用的语言一般是 C++。 Qt5 诞生之时,正是手机移动设备蓬勃发展的时候,而传统的 C++ 部件编写的界面对手机应用程序却不是很方便,比如手机屏幕显示随意翻转, 这在传统桌面程序里基本遇不到,谁会将22寸显示器翻过来转过去呢。 为了适应手机移动应用开发, Qt5 将 QML 脚本编程提到与传统 C++ 部件编程相同的高度,力推 QML 界面编程,当然 QML 主要用于手机移动应用程序。 QML 包含大量使用手机移动设备的功能模块,比如基本部件(QtQuick模块)、GPS定位、渲染特效、蓝牙、NFC、WebkKit等等。 简单地说,如果是传统桌面应用程序,使用 C++ 部件开发就足够了,如果学习目标是手机移动应用开发,QML 是更好的选择。 本教程是针对传统 C++ 部件开发的,QML 目前不在考虑范围之内。 关于 QML 编程已经有相关书籍上市,读者可以去搜索 QML 、QtQuick 或 Qt5 等方面的书籍进行选购学习。 学习 QML 之前建议先学 C++ 部件编程,否则遇到底层问题,QML 不一定好处理,通常 QML 也会调用 C++ 编写的插件来完善功能。 另外,在网上看到一本 QML 电子书,感兴趣的可以去下载:pdf

    02. Qt的历史

    说到 Qt 的发展史,就得从二十几年前说起,Qt 最早是1991年由挪威的 Eirik Chambe-Eng 和 Haavard Nord 开发的, 他们随后于1994年3月4号正式成立奇趣科技公司(Trolltech)。Qt原本是商业授权的跨平台开发库, 在2000年奇趣科技公司为开源社区发布了遵循 GPL(GNU General Public License)许可证的开源版本。 在2008年,诺基亚公司收购了奇趣科技公司,并增加了 LGPL(GNU Lesser General Public License)的授权模式。 诺基亚联合英特尔利用 Qt 开发了全新的智能手机系统 MeeGo,可惜遭遇了微软木马屠城,诺基亚被迫放弃了 MeeGo, 而 Qt 商业授权业务也于2011年3月出售给了芬兰IT服务公司 Digia。当然好消息是 Digia 于2014年9月宣布成立 Qt Company 全资子公司,独立运营 Qt 商业授权业务。目前 Qt 公司大力推广移动平台开发和商业应用, 总的来说 Qt 历经曲折,现在算是步入正轨了。

    03. Qt和KDE

    之前提到 Qt 原本是商业授权软件,是怎么开源的呢?这就涉及 Qt 和 KDE 的纠葛了。 KDE 是 Linux 操作系统的桌面环境,与 GNOME 桌面是类似的,作为开源桌面它们竞争的情况更为多见。 KDE 是采用 GPL 许可证发布的开源软件,而最初 Qt 是商业授权的,存在商业侵权风险, GNOME 则是基于开源 GTK 库的,没有什么商业风险,这一度是 GNOME 优越于 KDE 的特性。 由于 Qt 的商业授权,KDE 社区一度混乱纠结,与此同时 GNOME 则如火如荼发展起来了。 KDE 毕竟算是亲儿子,被另一波人欺负,奇趣科技公司当然看不下去了, 最后是奇趣科技公司为了赢得开发者的支持,为 Qt 增加了 GPL 的开源授权, 对于开源社区而言,遵循 GPL 使用 Qt 就不需要付费,这为 KDE 解决了燃眉之急。 之后 KDE 桌面和 GNOME 都发展壮大起来,都做得越来越好了。 关于 KDE 和 GNOME 的故事详情可以围观下面的帖子:KDE/QT vs GNOME/GTK:http://bbs.chinaunix.net/thread-1968232-1-1.html

    除了商业授权,目前 Qt 的开源授权有两种,一种是 GPL 授权,另一种是 LGPL 授权(诺基亚收购后新增)。 对这两种开源授权,简单来说,使用 GPL 版本的软件一定还是 GPL 的开源软件, 无论是使用了 Qt 的程序代码还是修改了 Qt 库代码,都必须按照 GPL 来发布,这是 GPL 的传染性。 GPL 是什么都要开源,这对商业软件应用是不利的,所以诺基亚增加了 LGPL 授权 (第一个 L 可以叫 Lesser 宽松版或 Library 开发库版)。 使用 LGPL 授权就可以利用 Qt 官方动态链接库,而不必开放商业代码。只要不修改和定制 Qt 库, 仅使用 Qt 官方发布的动态链接库就可以不开源,这是商业友好的授权模式。 其实只要不是做商业,就不太需要关注用什么授权,以 GPL 授权发布程序代码就可以了。

    04. Qt和智能手机

    Qt 目前支持主流的 Android、iOS、WinPhone 等智能机操作系统。MeeGo 是基于 Qt 开发的操作系统,由于被诺基亚抛弃了, 只剩一代绝版诺基亚 N9 手机。诺基亚手机部门出售给微软之后,大部分诺基亚手机系统开发人员都被遣散了。 原来诺基亚的一部分人成立新的 Jolla(卓蓝)公司,发布了 MeeGo 的衍生版智能手机系统 Sailfish(旗鱼), 相应的手机和平板也发布开卖了。 另一拨人投靠了 Tizen(泰泽),Tizen 是英特尔和三星力推的智能手机系统,该系统整合了 Limo 和 MeeGo, 因为 MeeGo 系统被诺基亚抛弃,英特尔其实是被出卖了,所以只能联合三星重造智能手机系统 Tizen。 目前基于 Tizen 的首款手机三星 Z1 在印度上市了。在 Tizen 阵营,国内有中兴、百度涉及了。 Qt 开源项目里也有 Qt for Tizen 版本,有兴趣的可以去搜搜。

    Qt 公司有专门针对移动开发的商业版本,20 欧元或 25 美元一个月。 不做商业可以无视这个,用开源版本也是可以开发如 Android、iOS、WinPhone 应用的。 本教程关注的是传统桌面操作系统开发的,移动开发可以参考 Qt 官方的文档。

    05. Qt历史发展

    * 1991–Haavard Nord和Eirik Chambe-Eng开始开发将会支持X11和Windows的Qt

    * 1994–Qt Company成立

    * 1996–KDE项目由MatthiasEttrich创建(Matthias现为诺基亚Qt发展框架工作)

    * 1998 Apr 05Trolltech的程序员在 5 天之内将 Netscape5.0 从Motif移植到 Qt 上

    * 1998 Apr 08 KDE Free Qt 基金会成立

    * 1998 Jul 09 Qt 1.40 发布

    * 1998 Jul 12 KDE 1.0 发布

    * 1999 Mar 04QPL1.0 发布

    * 1999 Mar 12 Qt 1.44 发布

    * 1999 Jun 25 Qt 2.0 发布

    * 1999 Sep 13 KDE 1.1.2 发布

    * 2000 Mar 20 嵌入式Qt 发布

    * 2000 Sep 06 Qt 2.2 发布

    * 2000 Oct 05 Qt 2.2.1 发布

    * 2000 Oct 30 Qt/Embedded 开始使用GPL宣言

    * 2000 Sep 04 Qt free edition 开始使用 GPL

    * 2008 Nokia从Trolltech公司收购Qt,并增加LGPL的授权模式

    * 2011 Digia从Nokia收购了Qt的商业版权,从此Nokia负责Qt on Mobile,,Qt Commercial由Digia负责

    * 根据最新消息,NOKIA已经停止Meltemi系统开发,Qt部门被解散

    * 2012 Aug 09 作为非核心资产剥离计划的一部分,诺基亚宣布将Qt软件业务出售给芬兰IT服务公司Digia。

    * 2013年7月3日,Digia公司Qt开发团队在其官方博客上宣布Qt 5.1正式版发布。

    * 2013年12月11日,Digia公司Qt开发团队宣布Qt 5.2正式版发布。

    * 2014年4月,Digia公司Qt开发团队宣布Qt Creator 3.1.0正式版发布。

    *2014年5月20日,Digia公司Qt开发团队宣布Qt 5.3正式版发布。

    *2019年,Qt团队宣布最新版5.13版本发布。

    *2020年,Qt团队宣布6.0版本发布。

    06. 附录

    6.1 Qt教程汇总
    网址:https://dengjin.blog.csdn.net/article/details/115174639

    6.2 Qt官网
    网址:http://www.qt.io/

    6.3 Qt开源项目

    网址:http://qt-project.org/

    展开全文
  • 精选文库 实训报告 实训名称 基于Linux下QT程序开发应用 姓 名 院 系 专业班级 ...这个也仅仅是界面品台的搭建工作 在6月12号这一天中我们完成 Linux开发环境搭建工作和和中文输入法6月14我们对QT平台的界面开发安装
  • Qt5开发及实例ppt

    2020-10-23 20:05:19
    讲解QT数据路开发的概念配套一些实例讲解,以通过图形界面的形式数据库进行操作。 Home / Qt 学习之路 2 / Qt 学习之路 2(55):数据库操作 Qt 学习之路 2(55):数据库操作 豆子 2013年6月14 Qt 学习之路 2 ...
  • 发布版本的日志输出,适用于找自己发布的软件版本bug
  • 通过一个小的项目,Qt处理JSON数据(内含数组)保存至excel表格,为了更加的大家学习qt处理json的用法,以及qt生成excel表格并且插入数据的用法。
  • * 2018年09年14 v1.0.0 ffmpeg模块封装空类 \**************************************************/ /**************************************************\ * 类名: FFmpegServer * 描述: 工程模板空类 * ...
  • Qt 实现的日志函数, 可以按照日期年月路径生成文件并记录日志 2. 效果 3. 源码 main.cpp ​ #include <QCoreApplication> #include <QMutex> #include <QString> #include <QDir&...

    1. 前言

    Qt 实现的日志函数, 可以按照日期年月日路径生成文件并记录日志

    2. 效果

    3. 源码

    main.cpp

    ​
    
    #include <QCoreApplication>
    #include <QMutex>
    #include <QString>
    #include <QDir>
    #include <QFile>
    #include <QTextStream>
    #include <QDateTime>
    
    QMutex LogLock;
    
    int WriteLog(QString type, QString content)
    {
        LogLock.lock();
    
        QDateTime currentTime = QDateTime::currentDateTime();
    
        QString time = currentTime.toString("yyyy-MM-dd hh:mm:ss");
        QString date= currentTime.toString("yyyyMMdd");
        QString month = date.mid(4, 2);
        QString year=date.mid(0, 4);
        QString day = date.mid(6, 2);
    
        QString path="Logs/"+ year + "/" + month+"/" + day + "/";
    
        QString fileName = path + type + "_"+date + ".log";
        QString data = "[" + time + "]" + " " + content;
    
        QDir dir;
        if (! (dir.exists(path)))
            dir.mkpath(path);
    
        QFile f(fileName);
        f.open(QIODevice::WriteOnly|QIODevice::Append) ;
        QTextStream t(&f);
        t << data<< endl;
        f.close();
    
        LogLock.unlock();
        return 0;
    }
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        WriteLog("Log", "content");
    
        return a.exec();
    }
    
    [点击并拖拽以移动]
    ​

     

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,910
精华内容 7,564
关键字:

对日qt