2016年8月23日
摘要: [-] Qt半自动的内存管理 父子关系 建立与解除 获取父子对象 deleteLater 删除自己 later 一些例子 无关痛痒 单独列一个吧 隐蔽很深 参考 [-] 在C++中学习过程中,我们都知道: delete 和 new 必须 配对使用(一 一对应):delete少了,则内存泄露,多了麻烦 阅读全文
posted @ 2016-08-23 10:14 苦涩的茶 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 这是一篇很简单的文章,仅仅是用来说明一下一个参数的作用,因此我把它写成了tip,而不是接下来的17. 程序写的多了,你会发现几乎所有的Qt类的构造函数都会有一个parent参数。这个参数通常是QObject* 或者是 QWidget* 类型的。很多情况下它都会有一个初始值0,因此,即便你不去给它复制 阅读全文
posted @ 2016-08-23 09:15 苦涩的茶 阅读(403) 评论(0) 推荐(0) 编辑
  2016年8月22日
摘要: 何谓初始化列表 与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。 struct 阅读全文
posted @ 2016-08-22 16:54 苦涩的茶 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 构造函数后加冒号是初始化表达式:有四种情况下应该使用初始化表达式来初始化成员:1:初始化const成员2:初始化引用成员3:当调用基类的构造函数,而它拥有一组参数时 4:当调用成员类的构造函数,而它拥有一组参数时。 在程序中定义变量并初始化的机制中,有两种形式,一个是我们传统的初始化的形式,即赋值运 阅读全文
posted @ 2016-08-22 15:35 苦涩的茶 阅读(3625) 评论(0) 推荐(0) 编辑
  2016年8月19日
摘要: QtSerialPort 简介 QtSerialPort模块是Qt5库的附加部分,为硬件和虚拟的串口提供了统一的接口。注意:该模块也增加了对Qt4的支持。 串口由于其简单和可靠,目前在像嵌入式系统,机器人等工业中依旧用得很多。使用QtSerialPort模块,开发者可以大大缩短开发串口相关的应用程序 阅读全文
posted @ 2016-08-19 15:44 苦涩的茶 阅读(6003) 评论(0) 推荐(0) 编辑
摘要: 在使用Qt进行应用程序开发时,经常要自定义数据类型,而且在需要的时候还要把这些数据放到QVariant中去。因为QVariant是一个接受绝大部分类型的数据类型。为了达到这个目的,就必须使用Q_DECLARE_METATYPE。 下面以一段简单的代码说明Q_DECLARE_METATYPE的用法和注 阅读全文
posted @ 2016-08-19 15:17 苦涩的茶 阅读(4250) 评论(1) 推荐(0) 编辑
摘要: 学习Qt时,发现有些知识看了不经常用就忘了,以下是书本上写的一些关于qmake的相关知识,自己看后,打算把一些经常用到的记下来,整理整理。 Qt程序一般使用Qt提供的qmake工具来编译。 qmake工具可以使用与平台无关的.pro文件生成与平台相关的makefile。该工具包含了调用Qt内置代码生 阅读全文
posted @ 2016-08-19 15:15 苦涩的茶 阅读(3603) 评论(1) 推荐(1) 编辑
  2016年8月16日
摘要: malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。下面来看他们的区别。 一、操作对象有所不同 malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。对于非内部数据类型的对象而言,光用mal 阅读全文
posted @ 2016-08-16 15:41 苦涩的茶 阅读(2011) 评论(0) 推荐(0) 编辑
摘要: Qt 中视图与模型绑定时,模型必须使用new来创建。否则刚开始初始化的时候,视图无数据显示,或者后期视图不能随着模型的改变而改变。 具体原因:我猜测是局部变量生命周期的问题。new 的变量在堆中,除非手动释放,否则一直存在。如果不new一个Model,把Model变量放在类成员变量中也行,视图就可以 阅读全文
posted @ 2016-08-16 13:10 苦涩的茶 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 一个小例子 QTableView + QStandardItemModel 转自:http://qimo601.iteye.com/blog/1535292 阅读全文
posted @ 2016-08-16 11:19 苦涩的茶 阅读(3089) 评论(0) 推荐(0) 编辑
摘要: Qt实现自定义模型基于QAbstractTableModel 两个例子 例子1代码 Main.cpp currencymodel.h currencymodel.cpp 例子2代码 Main.cpp citymodel.h citymodel.cpp 转自:http://qimo601.iteye. 阅读全文
posted @ 2016-08-16 10:59 苦涩的茶 阅读(10460) 评论(0) 推荐(0) 编辑
摘要: 使用预定义模型QDirModel的例子 Main.cpp directoryviewer.h directoryviewer.cpp 转自:http://qimo601.iteye.com/blog/1534325 阅读全文
posted @ 2016-08-16 10:47 苦涩的茶 阅读(840) 评论(0) 推荐(0) 编辑
摘要: 使用预定义模型 QStringListModel例子 源代码如下 Main.cpp teamleadersdialog.h teamleadersdialog.cpp 转自:http://qimo601.iteye.com/blog/1534322 阅读全文
posted @ 2016-08-16 10:38 苦涩的茶 阅读(433) 评论(0) 推荐(0) 编辑
摘要: (一) Qt Model/View 的简单说明 、预定义模型 (二)使用预定义模型 QstringListModel例子 (三)使用预定义模型QDirModel的例子 (四)Qt实现自定义模型基于QAbstractTableModel (五)Qt实现自定义模型基于QAbstractItemModel 阅读全文
posted @ 2016-08-16 10:35 苦涩的茶 阅读(1190) 评论(0) 推荐(0) 编辑
  2016年8月9日
摘要: qt中如何实现定义一个宏,在整个工程中都可以实现呢?下面我来写一个亲测的例子: pro中添加如下宏定义代码: 在.cpp中测试代码如下: 运行结果如下: 如此,qt中一个全局的宏变量就定义成功了。注意关键性的字符""。 转自:http://www.it165.net/pro/html/201502/ 阅读全文
posted @ 2016-08-09 16:42 苦涩的茶 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 整理于: http://blog.csdn.net/heyutao007/article/details/6649741 http://blog.sina.com.cn/s/blog_68d90fdb0100yapr.html 1. 前向声明好处 1)不必要的#include 会增加编译时间. 2) 阅读全文
posted @ 2016-08-09 14:51 苦涩的茶 阅读(1788) 评论(0) 推荐(0) 编辑
摘要: 1、默认构造函数 默认构造函数是指所有参数都提供了默认值的构造函数,通常指无参的构造函数或提供默认值的构造函数。如类Test1和Test2的构造函数 如果你没有为你的类提供任何构造函数,那么编译器将自动为你生成一个默认的无参构造函数。一旦你为你的类定义了构造函数,哪怕只是一个,那么编译器将不再生成默 阅读全文
posted @ 2016-08-09 11:02 苦涩的茶 阅读(8737) 评论(0) 推荐(1) 编辑
  2016年8月5日
摘要: 参考文章:https://blogs.oracle.com/pcarlini/entry/c_1x_tidbits_lambda_expressions 或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#) 阅读全文
posted @ 2016-08-05 16:50 苦涩的茶 阅读(813) 评论(0) 推荐(0) 编辑
摘要: 这篇文章来自于一次讨论:http://www.devbean.net/2013/01/qt-study-road-2-model-view/#comment-17532。关于究竟是在堆上还是在栈上创建对象,可能很多初学者感到迷惑。我想可以把这部分内容拿出来详细介绍一下。现在,假设你已经清楚什么是堆, 阅读全文
posted @ 2016-08-05 15:49 苦涩的茶 阅读(7597) 评论(0) 推荐(2) 编辑
  2016年8月4日
摘要: 因为类的静态成员变量是所有实例共用的.所以得在类外初始化. 调用的时候可以通过对象调用,也可以通过类直接调用 输出“B::n=1 Bobj.n=1 Bobj.Aobj.i=0 ” 私有的静态成员变量也是放在类外初始化的.这看起来跟它的私有属性不相符. 再做下面的测试,发现了一个有趣的现象. 类外的初 阅读全文
posted @ 2016-08-04 17:26 苦涩的茶 阅读(1122) 评论(0) 推荐(1) 编辑

// 1.生成目录索引列表