随笔分类 - c++ / Qt
摘要:在C++中学习过程中,我们都知道: delete 和 new 必须配对使用(一 一对应):delete少了,则内存泄露,多了麻烦更大。 Qt作为C++的库,显然是不会违背C++的前述原则的。可是: 在Qt中,我们很多时候都疯狂地用new,却很少用delete,缺少的 delete 去哪儿了?! 注:
阅读全文
摘要:QObjectCleanupHandler Qt 对象清理器是实现自动垃圾回收的很重要的一部分。它可以注册很多子对象,并在自己删除的时候自动删除所有子对象。同时,它也可以识别出是否有子对象被删 除,从而将其从它的子对象列表中删除。这个类可以用于不在同一层次中的类的清理操作,例如,当按钮按下时需要关闭
阅读全文
摘要:使用线程 基本上有种使用线程的场合: 通过利用处理器的多个核使处理速度更快。 为保持GUI线程或其他高实时性线程的响应,将耗时的操作或阻塞的调用移到其他线程。 何时使用其他技术替代线程开发人员使用线程时需要非常小心。 启动线程是很容易的,但确保所有共享数据保持一致很难。遇到问题往往很难解决,这是由于
阅读全文
摘要:转自网络 1 多线程同步 Qt提供了以下几个类来完成这一点:QMutex、QMutexLocker、QSemphore、QWaitCondition。 当然可能还包含QReadWriteLocker、QReadLocker、QWriteLocker,但线程同步是应用很少,这里只做简单的讲解! QMu
阅读全文
摘要:转自网络 仔细来看,事件与信号其实并无多大差别,从我们对其需求上来说,都只要能注册事件或信号响应函数,在事件或信号产生时能够被通知到即可。但有一项区别在 于,事件处理函数的返回值是有意义的,我们要根据这个返回值来确定是否还要继续事件的处理,比如在QT中,事件处理函数如果返回true,则这个事件处理
阅读全文
摘要:1.Q_OBJECT 当在头文件定义宏O_OBJECT 时 我们就可以使用信号和槽功能 就是因为其生成了一个moc文件 QT_TR_FUNCTIONS 这个宏也是在这里定义的。也就是说,如果你要使用 tr() 国际化,就必须使用 Q_OBJECT 宏,否则是没有 tr() 函数的。这期间最重要的就是
阅读全文

浙公网安备 33010602011771号