好了,现在开始记录我学习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. nyoj--1057--寻找最大数(三)(贪心)

    寻找最大数(三) 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数. 求这个新的整数的最大 ...

  2. MinGW安装和使用基础教程

    MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C++.ADA及Fortran编译器,相比Cygwin而言,体积要小很多,使用较为方便.MinGW提 ...

  3. 深入理解JavaScript定时机制

    容易欺骗别人感情的JavaScript定时器 JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不 ...

  4. 三分钟明白 Activiti工作流 -- java运用_转载

    一. 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑 采用工作 ...

  5. c#中debug和release版本的区别

    1 debug版本称为调试版本,包含各种调试信息,以为开发人员提供强大的应用程序调试能力,其没有做任何优化,速度慢. 2 release版本称为发布版本,不保存调试信息,但是做了各种的优化,体积小,运 ...

  6. linux 下 .sh 文件语法

    转自:http://blog.sina.com.cn/s/blog_54f82cc201010hfz.html 介绍: 1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh ...

  7. php 扩展模块安装过程

    安装php模块,不需要重新编译php,可以动态扩展php模块. 以安装msgpack模块为例:(此处php5.6是编译安装的) 1.下载msgpack模块源码包 # wget http://pecl. ...

  8. CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法

    CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法 CentOS 7.4 中, 网卡命名方式发生改变, 可预测功能命名: 网卡简要名称组成格 ...

  9. [TJOI2013]单词 AC 自动机

    题目描述: 小张最近在忙毕设,所以一直在读论文. 一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次. 题解: AC 自动机裸题,将所有字符串读入 ...

  10. CMD和AMD的区别

    CMD和AMD俩者之间的区别 AMD和CMD最大的区别是对依赖模块的执行时机处理不同 CMD和AMD都是CommonJS延伸而来的,CommonJS是随着node的出现而出现的,它是一个规范,用于定义 ...