Qt有循环缓冲吗?
Does Qt have cyclic buffer?
我找不到类似的东西。我发现 boost 库有一个实现,但我不确定我是否只想插入整个库以实现循环缓冲区。
Qt的公共API中没有这样的类型。如果你愿意使用Qt的内部结构,有两类需要注意:
-
QRingBuffer
存储字节,专为 I/O 缓冲量身定制。
QSerialPort
等使用。QT += core-private # In the .pro file #include <private/qringbuffer_p.h>
https://github.com/qt/qtbase/blob/5.9/src/corelib/tools/qringbuffer_p.h
-
QCircularBuffer
存储任意类型,并且是通用的。提供合理的 STL 样式 API。
QT += 3dcore-private # In the .pro file #include <private/qcircularbuffer_p.h>
https://github.com/qt/qt3d/blob/5.9/src/core/resources/qcircularbuffer_p.h
注意:将私有模块添加到项目文件后,您必须重新运行 qmake,或者理想情况下删除构建文件夹。仅仅重建项目不会获得要编译的代码!
有一个叫QCircularBuffer
.
http://doc.qt.io/archives/qt-5.5/qt3d-qcircularbuffer.html#details
QCircularBuffer<T>
是Qt的通用容器类之一(来自文档(。因此,此类将满足容器类的所有基本要求。
需要包括 3dcore 库(Qt3D
标题(。
检查您的Qt版本是否支持它。我在Qt5.5中看到了这一点。
相关文章:
- OpenCV QT,显示视频的帧(不使用while循环)
- 具有Qt事件循环的可移植通用共享库设置
- Qt 在另一个线程中无限循环
- 与Qt同时运行后台循环或回调C++应用程序?
- Qt双缓冲行为
- Qt 帧缓冲对象甚至不渲染顶点
- Qt 多个异步循环和 qApp->processEvents();
- C /QT 5 Gstreamer继续循环
- Qt有循环缓冲吗?
- 尝试在自定义 QT 创建器文本编辑器中创建查找和替换循环.我似乎无法设置光标位置
- 如何在Qt Creator的constexpr函数中使用循环
- Qt的事件循环线程是安全的还是原子的?处理"队列连接"时如何同步?
- Qt在游戏循环中短时间内停止关键事件
- 如何将lambda函数排队到Qt的事件循环中?
- DLL中的QT事件循环
- 捕获到缓冲 QT
- 使用Windows中另一个进程的事件循环向Qt应用程序发送退出消息
- 使用foreach循环修改Qt数据结构的正确方法
- 调用linearize后奇怪的boost循环缓冲行为
- 我如何停止和开始一个循环在QT