C++老手如何快速掌握Qt

C++老手如何快速掌握Qt

为何要使用Qt

 

Qt不是一门新技术,可以将它看做是一个C++语言的类库框架。既然是延伸出的框架,那必然会提供一些C++语言本身以外的功能,QT的主要优势作用如下:

 

  1. QT可以做良好的界面,相比老式MFC而言,QT做的界面更加优美、方便。
  2. QT可以跨平台,做跨平台的界面和业务。在windows下用C#做界面就很好,但是无法直接移植到linux和Mac系统。而QT天然做了这些操作,在windows下做好的程序,稍微甚至无需改动,就可以直接在linux/Mac系统下运行,甚至在许多嵌入式平台也可以直接跑。
  3. QT不仅可以做精美的界面,同时本身提供了一套良好的类库封装和数据结构,可以做C++能做的所有后端事情。
  4. 综合而言,QT扩展了C++,让C++可以更好的跨平台支持界面编程,同时保留了非界面编程下C++的所有功能。让C++如虎添翼。

 

 

基本上,如果你想做跨平台的桌面界面应用,比如WPS,PhotoShop,甚至matlab这类桌面级别的应用,QT无疑是首选。

 

C++老手快速掌握QT

 

一个C++老手快速掌握QT,在项目中实战一个月时间足以!

其实没必要一上来就去学习各种控件的用法,没有那个必要。控件的用法,可以作为参考案头书一样,在需要的时候简单看看QT的API手册就行,这些没有任何的技术含量,仅仅是一个“查字典”的过程。

 

掌握QT真真的核心要点如下:

 

首选你必须掌握C++语言本身;最好是科班出生,对常用数据结构有一定掌握;基本上你掌握了C++语言和常用数据结构,世界上百分之九十的程序语言你就可以直接掌握了。因为原理都是相通的。比如说java python c golang这些常用语言,如果你掌握了C++,这些其它类似的语言都可以很快掌握,剩下的就是一个精通的过程。

 

至于如何掌握C++语言,这本身也是一个很大的话题。后续可以展开细说。但是基本上有几个要点,比如拷贝构造函数何时会调用,深拷贝与拷贝构造函数的关系,临时对象何时和产生和析构,多态虚函数的运行时决定、非多态函数的编译时决定,常用STL类库等。如果你对这些概念及思维乱熟于心,基本上你已经很好的掌握了C++语言。

 

我曾经面试过工作7到8年的程序员,号称自己一直都使用的是C++。但是连拷贝构造函数何时会被编译器自行调用都不知道。可想而知,这样的C++程序员,不是在解决问题,而是在制造问题,他们本身就已经是一个麻烦制造者,需要回炉重造。

 

其次深入理解QT的信号槽机制。

 

我认为,QT的核心就是信号槽机制,其本质是观察者模式。可谓一招鲜,吃遍天。

 

QT的最初设计师,在观察者模式的基础上,演化出了QT的核心思维。这绝对不是瞎说,许多做过多年QT开发的程序员,如果没有掌握QT的信号槽机制,其实从本质上来说,他们不能算掌握了QT,只是需要时随便写写而已。

 

深入聊一聊,需要知道connect函数的第5个参数,而且需要清楚的了解:在发送和接受者处于多线程下,何时、何地、由谁触发信号、由谁何时、何地执行槽函数。如果不清楚这些核心点,那么本质的问题还没有被触及,还处于搬砖阶段。

 

今天先写到这里。由术入道,需要一个过程。具体后续可关注“多线程QT信号槽机制关键点”系列文章。

 

猜你喜欢

转载自blog.csdn.net/peterbig/article/details/106941022
今日推荐