随笔分类 -  Qt-Meta

摘要:Mfc和Java中自定义类的对象都可以对其进行持久性保存,Qt持久性对象进行序列化当然也是必不可少的。不过这个问题还真困扰了我很长时间……Mfc通过重写虚函数Serialize()、Java则是所属的类必须实现java.io.Serializable或Externalizable接口完成、Qt是怎么 阅读全文
posted @ 2017-01-05 00:02 findumars 阅读(2961) 评论(0) 推荐(0) 编辑
摘要:大家都知道Qt中有QDateTime等有关时间与日期的类,类中包含很多成员函数,可以很方便的实现有关时间与日期的操作,比如:想要获得系统当前的时间与日期,可以调用currentDateTime(); 但是Qt并没有提供设置系统时间的方法,这样我们只能自己来区分平台,调用平台相关的API,这篇文章实现 阅读全文
posted @ 2016-12-22 02:27 findumars 阅读(10216) 评论(0) 推荐(0) 编辑
摘要:最简单的写法: 过去很长一段时间一直都这么写,简单粗暴有效。但是直接声明静态对象会使编译出的可执行文件增大,也有可能出现其他的一些问题,所以利用了Qt自带的智能指针QScopedPointer和线程锁QMutex,改成了需要时才动态初始化的模式: 既保证了线程安全又防止了内存泄漏,效率也没降低太多, 阅读全文
posted @ 2016-12-20 22:10 findumars 阅读(6844) 评论(0) 推荐(2) 编辑
摘要:Qt中实现单例模式(SingleTon) 单例模式分为“饥汉”和“饿汉”两种版本,也正是线程安全问题使得原本简单的单例模式变得复杂。由于单例模式很常用,Boost库中有强大的泛型单例实现,我也利用Qt的原子指针QAtomicPointer来实现Qt中的单例模式: //.cppclass Single 阅读全文
posted @ 2016-10-27 16:01 findumars 阅读(3258) 评论(0) 推荐(0) 编辑
摘要:Qt:使用自定义的字体 1. 下载字体文件 2. 加载字体文件 3. 使用字体 QFontDatabase::addApplicationFont("XENOTRON.TTF"); ui->toolButton_2->setFont(QFont("XENOTRON", 34)); http://ww 阅读全文
posted @ 2016-10-19 23:13 findumars 阅读(3114) 评论(0) 推荐(0) 编辑
摘要:根据 src/corelib/global.h template <typename T>class QGlobalStatic{public: T *pointer; inline QGlobalStatic(T *p) : pointer(p) { } inline ~QGlobalStatic 阅读全文
posted @ 2016-10-19 23:12 findumars 阅读(1431) 评论(0) 推荐(0) 编辑
摘要:由于项目需要,需要在qt下实现floatformat的函数。之前写过一个,但是写得不好。决定重新写一个,参考delphi xe2下的实现。把xe2下的相关代码都看了一遍,xe2的代码思路在这里贴出来。xe2下的代码在system.sysutils下,核心函数是InternalFloatToTextF 阅读全文
posted @ 2016-10-10 22:48 findumars 阅读(771) 评论(0) 推荐(0) 编辑
摘要:而且QPair从此与各种QMap容器联系了起来,会非常好用。甚至QList也可以成双成对的使用元素了: QList<QPair<int, double> > list;list.append(qMakePair(66, 3.14159)); 以后记得使用这2个类 阅读全文
posted @ 2016-10-09 05:38 findumars 阅读(2298) 评论(0) 推荐(0) 编辑
摘要:QVariant是一种可以存储不同类型的数据结构,在很多场合这是很有用得为了达到这种目的,可以想象,该对象应该存储对象的类型信息,数据信息以及其他辅助详细考虑用途,这种对象必须支持对不同对象的存储,对存储类型的检测以及取对象三个功能1.对象的存储代码见下:QVariant(Type type);QV 阅读全文
posted @ 2016-10-06 21:39 findumars 阅读(818) 评论(0) 推荐(0) 编辑
摘要:详细描述: QVariant类作为一个最为普遍的Qt数据类型的联合。 因为c++禁止没有构造函数和析构函数的联合体,许多继承的Qt类不能够在联合体当中使用。(联合体当中的变量共用一个存储区),没有了联合变量,我们在物体属性以及数据库的工作等方面受到很多的困扰。 一个QVariant对象在一个时间内只 阅读全文
posted @ 2016-09-11 14:25 findumars 阅读(4368) 评论(0) 推荐(0) 编辑
摘要:Qt动画 转载自: <http://jingyan.baidu.com/article/154b46315757b628ca8f4116.html> 和 <http://blog.csdn.net/syzobelix/article/details/9377863> Qt动画架构中的主要类如下图所示 阅读全文
posted @ 2016-09-10 23:57 findumars 阅读(1791) 评论(0) 推荐(0) 编辑
摘要:=QVariant=[%这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型“擦除”的作用。比如我们的 table单元格可以是string,也可以是int,也可以是一个颜色值,那么这么多类型怎么返回呢?于是,Qt提供了这个QVariant类型,你可 阅读全文
posted @ 2016-09-01 16:12 findumars 阅读(973) 评论(0) 推荐(0) 编辑
摘要:也谈Qt的垃圾回收 前几天在做代码审核的时候,Kai Uwe Broulik建议使用QScopedPointer来替代手工内存管理,使用后发觉确实节约了不少代码量,我的CHERRY可以延长寿命了!但是通过简单地阅读代码,发现和Python等动态语言的垃圾回收机制不同,并没有使用引用计数!下面我们来看 阅读全文
posted @ 2016-08-07 04:06 findumars 阅读(5246) 评论(0) 推荐(0) 编辑
摘要:其实动画的本质就是在每一定时间间隔内显示一帧图像,当这个间隔较短的时候人眼就感觉不出来了,觉得看到的是连续的影像。Qt为开发动画效果的人员提供了一个很好的时间控制类QTimeLine. QTimeLine的最简单用法是 1 QTimeLine timeline=new QTimeLine(1000) 阅读全文
posted @ 2016-07-29 23:26 findumars 阅读(682) 评论(0) 推荐(0) 编辑
摘要:理论:qInstallMessageHandler是被定义在全局空间里: http://doc.qt.io/qt-5/qtglobal.html#QtMessageHandler-typedef 实践: http://blog.csdn.net/liang19890820/article/detai 阅读全文
posted @ 2016-07-24 23:36 findumars 阅读(1538) 评论(0) 推荐(0) 编辑
摘要:析构函数在对象的生命结束时,会自动调用,大家所熟知的智能指针就是根据析构函数的这种特性而实现的,包括Qt的内存管理机制,也都是利用了析构函数的这一机制来实现的。c++创始人Bjarne Stroustrup在创造析构函数也是出于这种目的的,可见如果析构函数用的好的话,可以省去我们很多工作量,你不再需 阅读全文
posted @ 2016-06-25 02:41 findumars 阅读(5421) 评论(0) 推荐(0) 编辑
摘要:QPointer 如何翻译呢?我不太清楚,保留英文吧。 The QPointer class is a template class that provides guarded pointers to QObjects. 使用:一个guarded指针,QPointer<T> ,行为和常规的指针 T 阅读全文
posted @ 2016-06-24 16:02 findumars 阅读(1752) 评论(0) 推荐(0) 编辑
摘要:一 如果在窗体关闭前自行判断是否可关闭二 如何用打开和保存文件对话框 三 如何使用警告、信息等对话框 四 在Windows下Qt里为什么没有终端输出五 想在源代码中直接使用中文,而不使用tr()函数进行转换,怎么办六 为什么将开发的使用数据库的程序发布到其它机器就连接不上数据库七 如何创建QT使用的 阅读全文
posted @ 2016-06-22 21:20 findumars 阅读(5694) 评论(1) 推荐(1) 编辑
摘要:从内存泄露开始? 很简单的入门程序,应该比较熟悉吧 ^_^ #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label 阅读全文
posted @ 2016-06-20 05:13 findumars 阅读(3537) 评论(0) 推荐(0) 编辑
摘要:] view plain copy ] view plain copy [cpp] view plain copy .h文件 #include <QSettings> #include <qt_windows.h> HKEY hKey; LPCWSTR subkey; wchar_t keyname 阅读全文
posted @ 2016-06-20 04:34 findumars 阅读(6909) 评论(0) 推荐(0) 编辑