QT
CindyWangry
这个作者很懒,什么都没留下…
展开
-
Qt-不调用CoInitialize-实现SDL多线程运行
使用Qt开发程序,参考的MFC的程序中有CoInitialize。结果Qt程序调用不了,导致SDL不能音视频同步。此时SDL的初始化是放在主程序里的。把SDL的初始化部分放到了辅助线程里,运行就正常了,还不需要CoInitialize。用SDL作音视频同步及多线程,在Qt移植太麻烦了,最后还是使用VLC,接口好用。实现多路视频同步播放没有问题。...转载 2020-08-23 11:03:58 · 320 阅读 · 0 评论 -
QT中如何确定new对象是否要释放
##1.前言我们都知道C++中的new和delete是需要成对存在的,否则会导致内存泄漏。但是,在QT中,有的时候我们new出来的对象,并不需要delete也会释放掉。那么,究竟什么时候需要手动释放,什么时候不需要释放,交给QT自动释放呢?##2.QT的自动释放机制在QT基础 - QObject简介一文中提到:QObject在对象树中组织自己。当你用另一个对象作为父对象创建一个QObject时,对象将自动添加到父对象的children()列表中。父母拥有对象的所有权;即它会自动删除其子析构器中的转载 2020-07-23 11:41:59 · 3219 阅读 · 0 评论 -
QT中的QEventLoop
这里的意思是说QEventLoop类为我们提供了一种进入和退出一个事件循环的方法。在任何时候,你都可以创建一个QEventLoop实例,然后调用exec()来启动一个事件循环,在这个循环期间,可以调用exit()来强制使exct()返回。事件循环是一个无限“循环”,当调用事件的exec()的时候,程序就会在exec()里面无限循环,让在exec()后面的程序得不到运行的机会,除非程序从exec()里面跳出来。子层事件循环具有父层事件循环的所有功能,所以当在主线程中启动各种exec()(比如Q...转载 2020-07-19 20:07:25 · 1748 阅读 · 0 评论