这个方法的最大特点是,不影响其它类层次的设计,而不必强行指定继承我的QDialog。而且在全局做任何事情都可以。 Read More
posted @ 2016-12-21 01:09 findumars Views(806) Comments(0) Diggs(0)
最简单的写法: 过去很长一段时间一直都这么写,简单粗暴有效。但是直接声明静态对象会使编译出的可执行文件增大,也有可能出现其他的一些问题,所以利用了Qt自带的智能指针QScopedPointer和线程锁QMutex,改成了需要时才动态初始化的模式: 既保证了线程安全又防止了内存泄漏,效率也没降低太多, Read More
posted @ 2016-12-20 22:10 findumars Views(7199) Comments(0) Diggs(2)
程序编译运行过程很顺利,测试的时候也没发现什么问题。但后来我随手上传了一个1G大小的文件,发现每次文件上传到70%左右的时候程序就崩溃了,小文件就没这个问题。急忙打开任务管理器,这才发现上传文件的时候,程序内存占用会随着上传进度的增加而增加,上传1G文件的时候内存最多会吃到1.5G,这时候程序申请不 Read More
posted @ 2016-12-20 21:49 findumars Views(11226) Comments(0) Diggs(0)
最近在做一个文件批量上传的工具,要实现暂停继续、断点续传等功能。利用Qt自带的QtNetwork模块,完成这些需求并没有费多少周章,主要思路就是将文件分块,然后用while循环依次传输。具体实现代码比较复杂,简化了一下大致是这样子的: 程序编译运行过程很顺利,测试的时候也没发现什么问题。但后来我随手 Read More
posted @ 2016-12-20 21:38 findumars Views(2888) Comments(0) Diggs(0)
本质上,Qt 是一个C++类库。在引入 QML 以前,所有的开发都是基于 C++ 的,但到了 Qt 5,QML 和 Qt Quick 成为了 Qt 的核心之一,导致很多初学者在犹豫是否还需要学习 C++。使用 QML 开发界面主要有以下几个优点: QML 非常灵活,可以做出非常炫酷的效果,例如 QQ Read More
posted @ 2016-12-20 21:28 findumars Views(4045) Comments(0) Diggs(0)