Qt概念和快捷键
Qt概念和快捷键
Qt简介
1、Qt的由来和发展
Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。
1991年,Haavard和Eirik开始一起合作设计、编写最终成为Qt的那些类。在随后的一年中,Eirik提出了“信号和槽”的设想——一个简单并且有效的强大的图像用户编程规范。而现在,他已经可以被多个工具包实现。
1994年成为两位年轻程序员不幸的一年,他们没有客户,没有资金,只有一个未完成的产品,但是他们希望能够闯进一个稳定的市场。幸运的是,他们的妻子都有工作并且愿意为她们的丈夫提供支持。在这两年里,Haavard和Eirik人为,他们需要继续开发产品并且从中赚的收益。
1995年4月,通过Haavard就读过的大学的一位教授的联系,挪威的Metis公司与他们签订了一份基于Qt进行软件开发的合同。大约在同一时间,公司雇用了Amt Gulbrandsen,在公司工作的六年时间里,他设计并实现了一套独具特色的文档系统,并且对Qt的代码也做了不少贡献。
1995年5月20日,Qt0.9被上传到sunsite.unc.edu。6天后,在comp.os.linux.announce上发布。这是Qt第一个公开发行的版本。Qt既可以在Windows上的程序开发,又可以用于UNIX上的程序开发,而且在这两种平台上,都提供了相同的应用程序编程接口。从第一天起,Qt就提供了两个版本的软件许可协议版本。一个是进行商业开发所需要的商业版本,一个是适用于开源开发的自由软件许可版本。Metis的合同确保了公司的发展,然而,在长达十个月的时间内,在没有任何人购买Qt的商业许可协议。
1996年3月,欧洲航天局(European Space Agency)购买了10分Qt的商用许可协议,他成了第二个Qt用户。凭着坚定的信念,EEirik和Haavard有雇佣了另外一名开发人员。Qt 0.97在同年5月底正式发布,随后在1996年9月24日,Qt1.0正式面世。到了这一年的年底,Qt的版本已经发展到了1.1.共有来自8个国家的客户买了18分商用许可协议。也就是在这一年,在Matthias Ettrich的带领下,创立了KDE项目。
Qt 1.2于1997年4月发布。Matthias Ettrich利用Qt建立KDE的决定,使Qt成为Linux环境下开发C++图像用户界面的事实标准。Qt1.3于1997年9月发布。
Matthias Ettrich在1998年加入公司,并且在当年9月,发布了Qt 1系列的最后一个版本——V1.40.199年6月,Qt 2.0发布,该版本有有一个新的开源许可协议——Q公共许可协议(QPL,Q Public License),他与开源的定义一直。1999年8月,Qt赢得了LinuxWorld的最佳奖/工具奖。大约在这个时候,Trolltech Pty Ltd成立了。
2000年,公司发布了Qt/Embedded Linux,它用于Linux嵌入式设备。Qt/Embedded Linux提供了自己的窗口系统,并且可以作为X11的轻量级替代产品。现在,Qt/X11和Qt/Embedded Linux 除了提供商业许可协议之外,还提供了广为使用的GNU通用公共许可协议(GPL,General Public License)。2000年底,成立了Trolltech Inc,并发布了Qtopia的第一版,他是一个用于移动电话和掌上电脑的环境平台。Qt/Embedded Linux在2001年和2002年两次获得了Linux World的“Best Embedded Linux Solution”奖,Qtopia Phone也是在2004年获得了同样的荣誉。
2001年,Qt 3.0发布。现在,Qt已经可用于Windows、MacOS、NUIX、和Linux(桌面和嵌入式)平台。Qt 3 提供了42个新类和超过500000行代码。Qt3是自Qt2以来前进历程中最为重要的一步,他在诸多方面上都进行了改良,包括本地化和统一字符编码标准的支持、全新的文本查看和编辑窗口部件,以及一个类似于Perl正则表达式的类等。2002年,Qt3赢得了Software Develpment Times 的“Jolt Productivity Award”。
2005年夏,Qt 4.0发布,他大约有500个类和9000多个函数,Qt4.0比以往的任何一个版本的都要全面和丰富,并且他已经裂变成多个函数库,从而是开发人员可以根据自己的需要只连接需要的Qt部分。相对于以前的Qt版本,Qt4 的进步是巨大的,他不仅彻底的对高效易用的模板容器、高级的模型/视图功能、快速而灵活的二维绘图框架和强大的统一字符编码标准的文本查看和编辑类进行了大量的改进,更不必说对那些贯穿整个Qt类中的成千上万个小的改良。现如今Qt已经超越了作为图形用户界面工具包的界限,逐渐成长为一个成熟的应用程序开发框架。Qt4 也是第一个能够在其所有可支持的平台上既可以用于商业开发又可以用于开源开发的Qt版本。
同在2005年,公司在北京开设了一家办事处,以便于中国及其销售区域内的用户提供服务和培训,并且为Qt/EmdeddedLinux 和 Qtopia提供技术支持。
通过获取一些非官方的语言绑定件(language bindings),非C++程序员也可以使用Qt,特别适用于Python程序员的PyQt语言绑定件。2007年,公司也发布了用于C#程序员的非官方语言绑定键Qyoto。同一年,QtJambi投放市场,他的一个官方支持的Java版本Qt应用程序编程接口。
自奇趣科技公司诞生以来,Qt的声望经久不衰,而且至今依旧持续高涨。取得这样的城进不进说明了Qt的质量,而且也说明人们都非常喜欢应用它。在过去的十年中,Qt已经从一个只被少数专业人士所熟悉的“秘密”产品,发展到了如今遍及全世界拥有数以千计的客户以及数以万计的开源开发人员的产品。
参考文献:C++ GUI with Q4编程
3、为什么选择Qt
优良的跨平台特性
Qt支持下述平台:
- MS/Windows - 95、98、NT4.0、ME、2000、XP 、Vista、Win7、win8、win2008、win10
- Unix/X11-Linux、SunSolaris、HP-UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、FreeBSD、BSD/OS和其它很多X11平台
- Macintosh -Mac OS X
- Embedded - 有帧缓冲(framebuffer)支持的嵌入式Linux平台,Windows CE
- Symbian、Symbian^3、Symbian Anna、Symbian Belle、MeeGo
面向对象
Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。
丰富的API
Qt包括多达250个以上的C++类,还提供基于模板的collections、serialization、file、I/O device、directory management和date/time类。甚至还包括正则表达式的处理功能。
支持2D/3D图形渲染,支持OpenGL
大量的开发文档
XML支持
Qt Creator 常用快捷键
1、 F4 实现xx.cpp和xx.h之间的切换
2、 Ctr + Enter 强制换到下一行
Ctr + Shift + Enter 强制换到上一行
3、 Alt + Enter 添加定义(前提:在xx.h文件中方法只是声明,未实现定义)
4、 Ctrl + i 自动缩进选中代码
5、 Ctr + ] 或 [ 实现光标在代码块间切换
6、 home 键和 end键 跳到当前行首或尾
7、 Ctrl + l 跳到某一行
8、 Ctrl + Shfit + r 更改变量名
9、 Ctrl + Shfit + up 实现当前行代码上移
Ctrl + Shfit + down 实现当前行代码下移
10、Ctrl + m 添加/删除书签
11、Ctrl + e 再按2键实现上下分栏
Ctrl + e 再按3键实现左右分栏
Ctrl + e 再按1键删除掺分栏
Ctrl + e 再按0 键删除当前分栏
12、Ctrl + Tab 快速切换已打开的文件
13、Alt + (1-7) 打开对应的输出窗口
14、Esc 隐藏输出窗口
15、Ctrl + k 查看当前打开文档
16、Ctrl + 鼠标左键 跳到定义
17、Ctrl + b 编译工程
18、Ctrl + r 运行工程
19、Ctrl + / 注释行、取消注释行
20、Ctrl + Shift + < 折叠代码块
Ctrl + Shift + > 展开代码块
Qt概念和快捷键的更多相关文章
- 【Qt】Qt Creator键盘快捷键速查
附录 Qt Creator键盘快捷键速查 一般操作的键盘快捷键 操作 快捷键 操作 快捷键 打开文件或项目 Ctrl+O 新建文件或项目 Ctrl+N 在外部编辑器中打开 Alt+V,Alt+I 选择 ...
- QT creator 编辑器快捷键
QT creator 编辑器快捷键 一.快捷键配置方法: 进入“工具->选项->环境->键盘”即可配置快捷键. 二.常用默认快捷键: 编号 快捷键 功能 1 ...
- Qt Creator 常用快捷键 详细总结
下面是我总结的一些Qt Creator 常用快捷键 ,可以大大提高我们使用Qt开发项目的效率!! Qt Creator 常用快捷键 快捷键 介绍 F1 查看帮助文档 Shift + F2 函数的声明和 ...
- Qt Creator键盘快捷键速查
原地址:http://bbs.qter.org/forum.php?mod=viewthread&tid=904&extra=page%3D2 一般操作的键盘快捷键 操作 快捷键 操作 ...
- 如何设置qt creator的快捷键
如何设置qt creator快捷键 以设置设置edit - select encoding的快捷键为例 1. tools - options - environment - keyborad 2.在搜 ...
- QT 按键处理 快捷键处理 shift + ctrl
原味地址:http://www.cnblogs.com/codingmylife/archive/2010/08/30/1812739.html CTRL+Enter发送信息的实现 在现在的即时聊天程 ...
- 25 面向对象编程 继承概念 代码 快捷键 super注意点
继承概念 继承的本质是对某一批的抽象,从而实现对现实世界更美好的建模. extends的意思的"扩展".子类是父类的扩展. JAVA中类只有单继承,没有多继承!理解:一个儿子只能有 ...
- Qt Creator Shortcuts 快捷键大全
编号 快捷键 功能 1 Esc 切换到代码编辑状态 2 F1 查看帮助(选中某一类或函数,按下F1,出现帮助文档) 3 F2 在光标选中对象的声明和定义之间切换(和Ctrl+鼠标左键一样的效果,选中某 ...
- Chapter1:Qt概念
信号和槽1.信号与槽机制的连接方式(1):一个信号可以与另一个信号相连,代码如下: connect(Object1,SIGNAL(signal1),Object2,SIGNAL(signal1)); ...
随机推荐
- SQL Server权限设置
常用的几个系统表:(其实是View) sysdatabases,主数据库,服务器上的数据库 sysobjects,每个数据库,所有数据库对象 syscolumns,每个数据库,列 sysprocess ...
- python进阶12 Redis
python进阶12 Redis 一.概念 #redis是一种nosql(not only sql)数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,还提 ...
- php:两个文件夹递归地比较,没有的文件自动复制过去
仿站时,通常默认模板文件和新的模板文件大部分都是一样的,下面代码可以用于比较文件是否缺失(和默认模板做比较) 如果缺失自动复制过去~~ <?php /** * used:新模板和default模 ...
- GDPR(Cookie处理)
GDPR(Cookie处理) https://www.cnblogs.com/GuZhenYin/p/9154447.html 前言 时间一晃 ASP.NET Core已经迭代到2.1版本了. 迫不及 ...
- mycat学习日记:全局sequence
mycat分库分表的情况下,原生mysql的自增长主键无法满足主键全局唯一这个要求.看了MYCAT社区从零开始的一篇博客,加上自己的实践,大概总结一下. 目前mycat对于全局sequence主要提供 ...
- 在 WPF 中的线程
线程处理使程序能够执行并发处理,以便它可以做多个操作一次.节省开发人员从线程处理困难的方式,设计了 WPF (窗口演示文稿基金会).这篇文章可以帮助理解线程在 WPF 中的正确用法. WPF 内部线程 ...
- VS2013使用EF6通过ADO.NET 连接mySql成功步骤
VS2013使用EF6通过ADO.NET 连接mySql成功步骤 1.安装mysql-for-visualstudio-1.2.6(我用的目前最新版,这个一般安装VS2013就已经有了,没有的话下载一 ...
- Android 网络提交数据(使用Asynchronous Http Client)
项目主页及简单使用方法http://loopj.com/android-async-http/ 页面布局就不复制了,把主要的Activity记录下来,供自己以后使用: package com.exam ...
- I/O————流
流的关系图 缓冲流分为字节和字符缓冲流(图中是经常用的搭配,PrintWrite与BufferedWrite都继承java.io.Write) 字节缓冲流为: BufferedInputStream— ...
- Myeclipse发布第一个jsp页面及web project部署到tomcat上的几种方法
菜鸟日记: 1:new web project: 2:fix the visiting path of the tomcat,打开在安装目录下conf目录中的server.xml,在</Hos ...