QT就是别人好心帮你做一些枯燥,并且很重复的代码编写工作,让你更好的把精力投入到你界面的逻辑和功能的实现的功能库(否则写了上万行代码了,才写出个BUG一大堆的毛坯)
好了,现在开始记录我学习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一大堆的毛坯)的更多相关文章
- Git同步更新操作GitHub和码云仓库上面的代码
一.前言 问题: 小编在生活中,一般都是将代码保存到github上,但由于国内的码云仓库确实速度比github快很多,用起来也很方便,于是后来就慢慢转码云了,当然小编在github上的代码也不想放弃更 ...
- NASA的10条代码编写原则
NASA的10条代码编写原则 作者: Gerard J. Holzmann 来源: InfoQ 原文链接 英文原文:NASA's 10 Coding Rules for Writing Safety ...
- PHP 代码编写注意事项总结归纳
1- 编写模块化代码 良好的PHP代码应该是模块化代码.PHP的面向对象的编程功能是一些特别强大的工 具,可以把你的应用程序分解成函数或方法.你应该尽可能多的从你的应用程序的服务器端分开前端的HTML ...
- 如何优雅的代码编写 AutoLayout
概述 使用 Objective-C 纯代码编写 AutoLayout,看 AutoLayout 的字面理解就是自动布局,听起来好像蛮屌的样子.说白了就是适配:适应.兼容各种不同的情况,包括不同版本的操 ...
- javaCV开发详解之技术杂烩:javaCV能帮我们做什么?能实现什么功能?ffmpeg和openCV能实现功能,javaCV如何做到更快、更简单的实现相应的功能?等等一堆实用话题
前言: 该篇文章旨在帮助刚接触javaCV的盆友系统的认识音视频.javaCV.图像处理相关的体系知识和一些实用的知识. 序: javaCV早期因为内置了openCV库,所以常用来做图像识别应用,现在 ...
- Qt开发笔记:OpenSSL库介绍、windows上mingw32版本的OpenSSL编译模块化
前言 Windows上mingw32版本的openssl的编译是属于比较棘手的,OpenSSL本身不提供支持.. OpenSSL 介绍 OpenSSL是一个开放源代码的软件库包,应用程序可 ...
- Spring Data JPA系列5:让IDEA自动帮你写JPA实体定义代码
大家好,又见面了. 这是本系列的最后一篇文档啦,先来回顾下前面4篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring Data JPA,傻傻分不清楚?给你 ...
- 👨💻Mybatis源码我搞透了,面试来问吧!写了134个源码类,1.03万行代码!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言:手撸一万行! 完结撒花:4个月.20章.134个类.1.03万行代码! 22年3月初 ...
- 在linux上一行代码不用写实现自动采集+hadoop分词
在linux上一行代码不用写实现自动采集+hadoop分词 将下面的shell脚本保存成到xxx.sh,然后执行即可 cd /opt/hadoop mkdir spider wget -O spide ...
随机推荐
- NOIP2017 小凯的疑惑 解题报告(赛瓦维斯特定理)
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...
- 如何安装MySQL?(二)
MYSQL的两种安装方式 MSI安装 ZIP安装 第一步: 第二步: 第三步: 这里我选择下载到桌面吧! 第四步: 第五步: 第六步: 第七步: 典型安装:除了安装MySQL的服务器,还安装MySQL ...
- Unified BeginFrame scheduling for Chrome
Unified BeginFrame scheduling for Chrome http://goo.gl/D1Qxrr Status: http://crbug.com/401331 and ht ...
- 洛谷 P4180 【模板】严格次小生成树[BJWC2010] LCT
首次采用了压行,感觉还不错. Code: // luogu-judger-enable-o2 #include <cstdio> #include <algorithm> #i ...
- php动态导出数据成Excel表格
一.封装 Excel 导出类 include/components/ExecExcel.php <?php /*** * @Excel 导入导出类. */ class ExecExcel { / ...
- 利用中间件 mysql_proxy 完成 mysql 的负载均衡和读写分离
安装 mysql_proxy cd /usr/local/src wget http://mysql.cdpa.nsysu.edu.tw.Downloads/MySQL - ...
- python调用java--JPype
JPype 是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足.JPype 的使用一个简单的 hello world 程序 ...
- CSS 预处理语言之 less 篇
less 前言 Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量.混合(mixin).函数等功能,让 CSS 更易维护.方便制作主题.扩充. 安装 客户端使用 // 引入 ...
- d3 bubble源码分析
技术 d3.d3.pack.d3.hierarchy 展示 https://bl.ocks.org/xunhanliu/e0688dc2ae9167c4c7fc264c0aedcdd1 关于怎么使用, ...
- bzoj1051 [HAOI2006]受欢迎的牛 tarjan&&缩点
题目描述 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之间的“喜欢”是可以传递的——如果A喜 欢B,B喜欢C,那么A也喜欢C ...