好了,现在开始记录我学习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. POJ 2110 二分+暴搜

    题意: 给你一个矩阵 ,你能往各个方向走(不走出去就行),每次只能上下左右走一格,问路径上的点权最大值和最小值的差最小是多少. 思路: 首先 二分最后的答案, 暴力枚举当前的区间是啥. DFS 就OK ...

  2. java9新特性-3-JDK 和 JRE 的改变

    1.JDK 与 JRE 的关系 JDK :JavaDevelopmentKit (Java开发工具包) JRE :JavaRuntimeEnvironment (Java运行环境)     说明: J ...

  3. SQL Server在用户自定义函数(UDF)中使用临时表

    SQL Server在用户自定义函数中UDF使用临时表,这是不允许的. 有时是为了某些特殊的场景, 我们可以这样的实现: CREATE TABLE #temp (id INT) GO INSERT I ...

  4. sql 除法运算 保留两位小数

    sql 除法运算 保留两位小数 SELECT 1530/60 select cast(1530*1./60 as decimal(18,1))

  5. python实例

    先来一段代码: #这段代码可牛逼了,1.可以根据indent的选项调整模式.2.根据level调整级别. #代码很low,主要看思想..哈哈哈..看看从最初的样子到最好经历了什么.. 开始: #!/u ...

  6. opencv——图像的灰度处理(线性变换/拉伸/直方图/均衡化)

    实验内容及实验原理: 1.灰度的线性变换 灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换.该线性灰度变换函数是一个一维线性函数:f(x)=a*x+b 其中参数a为线性函数的斜率, ...

  7. linux6 安装oracle11g

    转自:http://blog.csdn.net/nhm_lxy/article/details/37813789 安装环境:    虚拟机VMware Workstation 10.0 操作系统:   ...

  8. java-proxool 异常

    使用 proxool,JDBC连接池,进行批量运行的时候遇到异常: The Thread responsible was named 'Thread-32′, but the last SQL it ...

  9. leetcode第一刷_Text Justification

    这个题的接受率好低,搞得我一直不敢做.后来认真的看了一下题目,不是非常难嘛.字符串的题目ac率就是低,除了难,还由于它的測试用例太多. 思路不难,主要是由于特殊情况太多.纯模拟,我把全部的情况罗列一下 ...

  10. VB.NET中文双引号的处理方法

    相信朋友们也都碰到了这样的问题了,VS的IDE会不分青红皂白的把中文双引号变成英文的双引号,当然可以通过关闭自动重排功能来回避这个问题,但不是一个好的解决办法,以下这个方式不错: 如果在实际的使用中我 ...