QT的基础认识以及创建第一个QT程序

  • Post author:
  • Post category:其他



目录


一.QT简介


1.1 跨平台图形界面引擎


1.2 历史


1.3 优点


二.创建第一个Qt程序


一.QT简介

1.1 跨平台图形界面引擎

windows、苹果


1.2 历史

Qt [1]


是一个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

支持做出了调整,至此实现了全面支持

iOS

、Android、

WP

,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。基本上,Qt 同

X Window

上的

Motif

,Openwin,

GTK

等图形界面库和 Windows 平台上的

MFC

,OWL,

VCL



ATL

是同类型的东西。


1.3 优点


1.跨平台

2.接口简单,容易上手

3.一定程度上简化了内存回收(创建new后不用delete)


成功案例:


1 .Linux 桌回环境 KDE+

2.谷歌地图

3.VLC多媒体播放器

4….


二.创建第一个Qt程序


1. 点击创建项目后,选择项目路径以及给项目起名称·

2. 名称——不能有中文、 不能有空格,

3. 路径——不能有中文路径(否则运行的第一个窗口都不会出来)

4. 默认创建有窗口类:myWidget,基类有三种选择:

QWdget、QMainwindow、

QDialog

(QWdget为父类,即创建出来什么都没有;QMainwindow创建出来有菜单栏,工具及状态;QDialog创建出来有对话框)

5. 在汇总界面:控制系统一般默认,但如果从业QT要知道主要分为三个控制系统:

svn、vss、git.

这三个控制系统大家了解一个即可,svn一般最常用,vss少用。下来我简单介绍一下svn,后面需要大家具体了解并利用svn:



  • repository(源代码库):

    源代码统一存放的地方


  • Checkout(提取):

    当你手上没有源代码的时候,你需要从 repository checkout 一份


  • Commit(提交):

    当你已经修改了代码,你就需要Commit到repository


  • Update (更新):

    当你已经 checkout 了一份源代码, update 一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更

日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) –>作出自己的修改并调试成功 –> Commit(大家就可以看到你的修改了) 。


举个栗子:



一个公司A,B员工共同负责开发一个QT界面。A员工写了三行代码,B员工写了三行代码,他们在同一个文件中(C1.CPP)在这个文件里会自动合并六行代码,但A在写之前要先update,这个行为保证A,B写的不同代码,避免冲突代码(即一个代码两个人都写的前三行)。否则会冲突报错,则需要Slove解决冲突,然后commit提交代码。

但一般svn有自身bug:会显示lock即无法更新、提交的报错,这时我们只需要将lock改为unlock即可。

6.  main函数



QApplication a()

:应用程序对象,有且仅有一个。





myWidget  w:

实例化窗口对象



w.show()

调用show 函数 显示窗口





return a.exes()

让应用程序对象进入消息循环机制中,代码阻塞到当前行

到这里,第一个QT程序就创建完成。

—–ssss¥



版权声明:本文为qq_63959489原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。