好了,现在开始记录我学习QT的学习历程 。

本人也不是计算机专业出来的,自学了一点,但还是不好找工作,于是参加了培训,虽然感觉没多学到什么

编程的学习生涯就是不断的看别人的源码,然后自己参考着写写自己的,把别人的好东西收集起来,等自己某一次需要的时候,知道有这个技巧可以用,就非常完美了。在我看来,很多的技术什么的,说的漂亮,其实用技巧来描述更合适,也没什么真正的技术含量,只是你想不到,是吧,哈哈哈哈。还是得膜拜下那些远程技术的大神。

好了,开始吧。学习QT。

今天也不记录什么其他的,就说说QT是什么吧!

我呢对任何东西都喜欢从整体到细节的学习,怎么说呢。就是对一个事务,我总喜欢不断的加深对它的理解。举个例子,就好比我们认识一个人吧!最开始的时候,我们只知道他的名字,然后我们可能会和他聊聊简单的话题,然后,因为我们对他逐渐了解了,就可以问问他的其他信息了,比如住哪里,喜欢什么,等等其他的。然后了,我们更深入的了解了解他的过往,家庭什么的。到这里,其实你就已经对他知根知底啦!学习其实也是一样的,要循序渐进,一点一点的深入,这样才是最容易学习的方法。再举个学习上的例子吧。就拿个软件学习来说吧! 就先如今,软件是层出不穷,很多软件不知道怎么用是很正常的吧!我们就来看看怎么去学习用一个软件来,展示如何学习QT。

首先,你既然找到了这个软件,你肯定是知道他能有什么功能吧,这个就是最原始的认知,这个软件是干什么的。然后,你拿到这个软件之后,不知道怎么用?一些软件呢,可能带有一些使用手册之类的东西,你可以参考这个东西来使用。使用手册呢,一般也就是简单的说说一些功能,在你看完之后,一般就知道怎么用了,就到了知道这个软件怎么用这一步了吧。然后到了这一步之后,很多东西就不再是学习了,而是熟练的过程。 最后,经过长时间的对这个软件的使用,你可能就发现了一些技巧性的东西,比如,怎么用会更方便,更快速,有更好的效果等等。这个时候,你差不多就可以指导别人学习这个软件啦,哈哈哈呵呵

学习QT,我也觉得应该这样去学习,首先知道QT是干什么的,然后学习简单的使用,接着就是熟练的过程。最后经过长时间的学习,你可能就会对QT有个完整的了解,比如QT是怎么实现的,有些功能QT实现的不好,你可以给QT提意见,QT有些BUG,你可以提出来(QT其实还有很多BUG的,你如果长时间去使用,肯定会发现一些的,当然,如果也可能是你自己的BUG,哈哈哈哈),最后,你还可以给QT贡献一些你自己的实现。(说得比较神了哈。

好了,说了一大堆废话。其实也就是想说说,怎么去学习QT才更容易而已。 开始说说什么是QT吧。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. QT是什么?

QT是什么,如果你百度一下,肯定也有很多的回答,我这里就说说我的理解,而且用更容易的比喻来说说。 首先必须说明下,要学习QT,必须会C++,如果连C++是什么都不知道,那就先去了解了解什么是C++再来看吧。

QT是一个开发框架,是一个封装一系列类的C++GUI框架,C++是一门编程语言,因此可以知道,QT是基于C++语法的一些功能打包。那为什么要打包一些功能呢? 为什么要多此一举的学习QT呢,我会C++,直接用C++实现不就好了,还要用别人封装的,我还担心他有BUG呢,哈哈哈哈。这个问题呢,就要你实际去使用就知道啦,我就简单说说吧。 像QT这样的C++GUI框架有很多,就再说个最多人知道的MFC,QT和MFC是同一种东西。至于MFC又是什么? 废话,看看前面的QT是什么不就知道了  假如,你不使用QT等框架去写一个GUI程序,没问题,肯定是可以写的,但是你可能先写个几千行代码,描述一个界面,然后又花个几千行代码,组织这些窗口的显示逻辑,比如什么时候这个窗口置顶,什么时候另外一个窗口又置顶等等。你说,我不就写个界面吗? 前前后后写了上万行代码了,才写出个BUG一大堆的毛坯。要是每个人都这样搞,整个软件行业,估计就歇菜了。 因此啊,就有了这些框架的诞生,它们帮你写前面上万行代码,而且充分测试,保证无什么重大的BUG。你说你为什么不使用呢?

QT还有个优点,就是跨平台,你想啊,如果你需要写个软件,要在多种操作系统上运行,由于不同的操作系统接口不一样,你如果自己写的话,应该只能一个系统写一遍,还得把效果调到各种平台都差不多吧,这个工作量,可想而知啊!

总结一下,什么是QT,QT就是别人好心帮你做一些枯燥,并且很重复的代码编写工作,让你更好的把精力投入到你界面的逻辑和功能的实现的功能库。(其实QT不仅仅只封装了界面哈)。

2. 怎么得到QT?

前面大概知道QT是干什么的了吧! 那现在就来得到QT吧!俗话说,工欲善其事,必先利其器。下载QT,别去那什么其他的下载平台啊,广告有多,可能还是个病毒什么的,QT官方的网站基本提供了使用QT资源,方便的下载。 这里提供下载地址: http://download.qt.io/

QT有很多的版本,由于QT是跨平台的嘛,肯定各种平台都有个版本嘛,是吧!

然后QT还有个以编译器区别的版本,就是在Windows上有mingw编译器版本,和msvc版本。 个人觉得,如果是在windows上开发,最好还是用msvc版本。

https://blog.csdn.net/xiaoyan_yt/article/details/72096767

QT就是别人好心帮你做一些枯燥,并且很重复的代码编写工作,让你更好的把精力投入到你界面的逻辑和功能的实现的功能库(否则写了上万行代码了,才写出个BUG一大堆的毛坯)的更多相关文章

  1. Git同步更新操作GitHub和码云仓库上面的代码

    一.前言 问题: 小编在生活中,一般都是将代码保存到github上,但由于国内的码云仓库确实速度比github快很多,用起来也很方便,于是后来就慢慢转码云了,当然小编在github上的代码也不想放弃更 ...

  2. NASA的10条代码编写原则

    NASA的10条代码编写原则 作者: Gerard J. Holzmann 来源: InfoQ 原文链接 英文原文:NASA's 10 Coding Rules for Writing Safety ...

  3. PHP 代码编写注意事项总结归纳

    1- 编写模块化代码 良好的PHP代码应该是模块化代码.PHP的面向对象的编程功能是一些特别强大的工 具,可以把你的应用程序分解成函数或方法.你应该尽可能多的从你的应用程序的服务器端分开前端的HTML ...

  4. 如何优雅的代码编写 AutoLayout

    概述 使用 Objective-C 纯代码编写 AutoLayout,看 AutoLayout 的字面理解就是自动布局,听起来好像蛮屌的样子.说白了就是适配:适应.兼容各种不同的情况,包括不同版本的操 ...

  5. javaCV开发详解之技术杂烩:javaCV能帮我们做什么?能实现什么功能?ffmpeg和openCV能实现功能,javaCV如何做到更快、更简单的实现相应的功能?等等一堆实用话题

    前言: 该篇文章旨在帮助刚接触javaCV的盆友系统的认识音视频.javaCV.图像处理相关的体系知识和一些实用的知识. 序: javaCV早期因为内置了openCV库,所以常用来做图像识别应用,现在 ...

  6. Qt开发笔记:OpenSSL库介绍、windows上mingw32版本的OpenSSL编译模块化

    前言   Windows上mingw32版本的openssl的编译是属于比较棘手的,OpenSSL本身不提供支持..   OpenSSL 介绍   OpenSSL是一个开放源代码的软件库包,应用程序可 ...

  7. Spring Data JPA系列5:让IDEA自动帮你写JPA实体定义代码

    大家好,又见面了. 这是本系列的最后一篇文档啦,先来回顾下前面4篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring Data JPA,傻傻分不清楚?给你 ...

  8. 👨‍💻Mybatis源码我搞透了,面试来问吧!写了134个源码类,1.03万行代码!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言:手撸一万行! 完结撒花:4个月.20章.134个类.1.03万行代码! 22年3月初 ...

  9. 在linux上一行代码不用写实现自动采集+hadoop分词

    在linux上一行代码不用写实现自动采集+hadoop分词 将下面的shell脚本保存成到xxx.sh,然后执行即可 cd /opt/hadoop mkdir spider wget -O spide ...

随机推荐

  1. 如何设定editplus为txt默认打开程序?

    如何设定editplus为txt默认打开程序? 如图操作即可:

  2. mac本 maven项目还没发布成功,tomcat就报没有监听ContextLoaderListener 的解决方法

    Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL     严重: Error config ...

  3. NodeJS学习笔记 (19)进阶调试-debugger(ok)

    写在前面 谈到node断点调试,目前主要有三种方式,通过node内置调试工具.通过IDE(如vscode).通过node-inspector,三者本质上差不多.本文着重点在于介绍 如何在本地通过nod ...

  4. Codeforces#441 Div.2 四小题

    Codeforces#441 Div.2 四小题 链接 A. Trip For Meal 小熊维尼喜欢吃蜂蜜.他每天要在朋友家享用N次蜂蜜 , 朋友A到B家的距离是 a ,A到C家的距离是b ,B到C ...

  5. [BZOJ1935][SHOI2007]Tree 园丁的烦恼(离线+树状数组)

    题意 给出第一象限的n个点,有m次询问,每次询问一个矩形中的点的个数.(0<=n,m<=500000,0<=xi,yi<=10000000) 题解 一眼望去不可做. 用二位前缀 ...

  6. [洛谷P2045]方格取数加强版

    题目大意:有一个n*n的矩阵,每个格子有一个非负整数,规定一个人从(1,1)开始,只能往右或下走,走到(n,n)为止,并把沿途的数取走,取走后数变为0.这个人共取n次,求取得的数的最大总和. 解题思路 ...

  7. 【JavaScript】JavaScript中的replaceAll

    JavaScript中是没有replaceAll的.仅仅有replace,replace仅仅能替换字符中的第一个字符.并且这个replace里面不支持正則表達式,以达到replaceAll的目的. 只 ...

  8. SpringMvc 系统启动时加载数据到内存中

    SpringMvc 系统启动时加载数据到内存中 学习了:http://blog.csdn.net/newstruts/article/details/18668269 https://www.cnbl ...

  9. 《R实战》读书笔记二

    第一章 R简单介绍 本章概要 1安装R 2理解R语言 3执行R程序 本章所介绍的内容概括例如以下. 一个典型的数据分析步骤如图1所看到的. 图1:典型数据分析步骤 简而言之,现今的数据分析要求我们从多 ...

  10. C++关于二进制位操作小结

    #include <iostream> using namespace std; //二进制位逆序. int Grial(int x) { int n = 32; int count = ...