Qt中使用的C++知识和技能-你必须要了解的
如果你不确定在使用Qt编程时自己所掌握的C++知识是否够用,这一节的内容会帮到你。这里给出了Qt自身以及在使用Qt进行编程时涉及到的C++知识,因此,通过阅读本节,你会了解你是否缺少一些C++技能。
如果你想对这里提到的C++特性做进一步的了解,我们推荐你看Gregory Satir和Doug Brown撰写的《C++:The Core Language》,该书由O’Reilly出版。这本书重点讲解了C++语言最为重要的部分,并且涵盖了本节提到的所有内容。
- 对象和类
当然的,Qt中使用到了类-Qt是一个类库。你需要知道某个类的成员函数的用法。而且,你需要掌握怎样写你自己的类,以及怎样继承一个已经存在的类,从而产生一个新的类。不过,你无需成为擅长类的等级设计的高手。对于GUI 程序设计,在这里我们会提供足够丰富的信息来帮助你构建自己的知识体系。
- 存取方法
Qt中大量的使用了存取方法,它们用来得到或者设置类的私有变量的值。保存方法通常以set...这样的型式出现(例如,setText()),而获取方法则不带有任何前缀(甚至没有get-,例如,text())。在Qt中,这是一个基本的东西(惯例,译者注);没有复杂的东西在里面。
- 多态和虚函数
Qt中使用虚函数来通知你的(程序中的)对象,某些低级的事件(就像鼠标点击、重绘操作那样的事件)发生了,所以你必须要适应这些函数(的用法)。不像其他的工具包或者类库,Qt主要使用创新的信号/槽机制而不是虚函数来作为对象间通信的主要的方法。这个特性对于Qt而言至关重要,所以在本书的后面章节中将会介绍它。
- 继承
毫无疑问,Qt中用到了继承,但是其中最重要的部分是建立在单继承之上的。多继承很少用到-实际上,它的使用少到你很可能从来没有遇到过它。如果你对那个“虚拟继承”的含义不理解的话,放心吧:Qt中根本就没有用到它。
- 运算符重载
Qt重载了一些运算符,但通常这些运算符只是(在背后)工作而已。举例来说,你可以把一个QString对象赋给某个函数,期望得到一个const char*,这是由于一个强制转换运算符的介入以把你的QString对象转换为一个字符指针。
- 模板类
你不能使用一个不理解模板或者没有完全实现模板的编译器来编译Qt。如果你不想使用集合类,在你自己的代码中使用模板就不是必需的。但是模板是非常有用的,所以你还是要尽量的熟悉基本的模板的使用。并且,这个学习起来并不复杂。
- bool数据类型
Qt中经常用到bool数据(对于C++而言,是较新的类型)类型。不幸的是,一些老旧的编译器不支持bool数据类型,并且也不能识别true和false这两个关键字。这时候,你可以转而使用Qt提供的TRUE和FALSE宏来替代。在本书中,我们使用true和false,但如果你手头使用的是那些老旧的编译器,你需要总是使用TRUE和FALSE代替它们。
- 其他特性
Qt没有使用那些尚未被所有编译器所支持的以及新的C++特性,如名字空间、运行时类型识别(RTTI),新的类型绑定等等。Qt也不使用标准模板库(STL),但你可以在自己的Qt程序中使用它。
转自:http://blog.csdn.net/qter_wd007/article/details/6737470
Qt中使用的C++知识和技能-你必须要了解的的更多相关文章
- TTF字体基本知识及其在QT中的应用
字体类型 以Windows为例,有4种字体技术: Raster:光栅型,就是用位图来绘制字形(glyph),每个字都以位图形式保存 Vector:矢量型,就是用一系列直线的结束点来表示字形 TrueT ...
- Qt 中如何捕获窗口停用和激活的消息
最近一直在用Qt做一个简单的俄罗斯方块的游戏,由于要实现一个暂停游戏的功能,就是当鼠标移出正在运行的游戏,点击电脑桌面上的其他位置时,这个时候游戏暂停.在这里把实现过程简单的记录一下,作为一个学习笔记 ...
- Qt中调用PolarSSL库(一)
最近一直在学习SSL相关的知识,也是先了解理论相关的知识,主要是SSL相关的基本概念和连接建立过程,主要是基于PolarSSL开源库进行学习.学习完了之后就希望能给有所运用,就想用Qt写一个简单的程序 ...
- Qt中添加OpenCV库
配置在Qt中的OpenCV,看了很多“教程”,最终成功.记一下过程. 本机配置: window7 32位系统: qt-opensource-windows-x86-mingw492-5.5.1: Op ...
- QT中QMainWindow、QWidget、QDialog
QT中QMainWindow.QWidget.QDialog 简述 在分享所有基础知识之前,很有必要在这里介绍下常用的窗口-QWidget.QDialog.QMainWindow. 熟悉Qt的同学都应 ...
- QT中PRO文件写法的详细介绍
学习Qt时,发现有些知识看了不经常用就忘了,以下是书本上写的一些关于qmake的相关知识,自己看后,打算把一些经常用到的记下来,整理整理. Qt程序一般使用Qt提供的qmake工具来编译. qmake ...
- Qt事件系统之一:Qt中的事件处理与传递
一.简介 在Qt中,事件作为一个对象,继承自 QEvent 类,常见的有键盘事件 QKeyEvent.鼠标事件 QMouseEvent 和定时器事件 QTimerEvent 等,与 QEvent 类的 ...
- DevOps 工程师成长日记系列一:必备知识与技能组合
原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-366097df7737 ...
- [转帖]java必备的开发知识和技能
java必备的开发知识和技能 https://blog.csdn.net/qq_34405062/article/details/89389646 学习一下java 其实上学那会儿学的 早就过时加落伍 ...
随机推荐
- Atitit 大龄软件工程师的出路attilax总结
Atitit 大龄软件工程师的出路attilax总结 1.1. 创业vs打工 联合创始人 合伙人1 1.2. 项目管理 架构师1 1.3. 软件培训 讲师2 1.4. 研究院研究员2 1.5. 继续博 ...
- WCF推送
http://www.cnblogs.com/server126/archive/2011/08/11/2134942.html
- 关于CAE的那点儿破事儿
CAE是计算机辅助工程的英文简写,所涵盖的范围甚是广泛.现在很多人提到CAE,总是联想到结构有限元计算,更有甚者认为有限元就是CAE.还有人把所有的工程数值计算都称作有限元.本文就这一话题,来谈谈关于 ...
- lua -- io.exists
io.exists 测试文件是否存在,如果存在返回 true. 格式: result = io.exists(路径) 可以使用 CCFileUtils:fullPathForFilename() 函数 ...
- MYSQL双机热备份的配置实施(问题总结)
为了实现MYSQL数据库的冗灾.备份.恢复.负载均衡等功能,喻名堂这两天一直在学习和研究mysql的双机热备,其实MYSQL的双机热备就是使用MYSQL同步功能两种方式里面的“主-主”同步方式实现的. ...
- linux命令(47):Linux下对文件进行按行排序,去除重复行
Linux下对文件进行按行排序:sort 与 uniq 命令简介 Linux | May 24, 2015 | linux sort 命令可针对文本文件的内容,以行为单位进行排序.其基本语法格式为: ...
- [iOS]终极横竖屏切换解决方案
[iOS]终极横竖屏切换解决方案 大家的项目都是只支持竖屏的吧?大多数朋友(这其中当然也包括博主),都没有做过横屏开发,这次项目刚好有这个需求,因此把横竖屏相关的心得写成一遍文章供诸位参考. 01.综 ...
- Mac在Finder中显示/usr、/tmp、/var等隐藏目录
Finder中默认是不显示/usr./tmp./var等隐藏目录的,通过在终端中输入一下命令来另其显示: #开启 defaults write com.apple.Finder AppleShowAl ...
- Django套用现成模板,导入css,js,images等文件
https://blog.csdn.net/mildddd/article/details/79557803
- 03-老马jQuery教程-DOM操作
jQuery DOM操作 在没有jQuery之前,DOM的操作相对来说有点麻烦,尤其是DOM节点的搜索.目前我们已经学习了jQuery的选择器,接下带大家一块学习jQuery的DOM操作,jQuery ...