Microsoft XNA WPF xaml MFC electron Win32 SDK STL,WTL LCU客户端 CEF架构 WinForms C++ builder GTK+ libcef Unity 桌面应用程序 桌面的客户端软件 Hive
github
minicsv
Qt文档学习
关键词汇
signals and slots Qt Object Model object trees
关键章节
Qt Widgets
Qt GUI Qt Core
C++ Classes Animation Classes Threading Classes Container Classes Plugin Classes Implicitly Shared Classes State Machine Classes Input/Output Classes Event Classes
Qt Help Qt OpenGL Qt Test qmake Manual
常见宏定义
Q_NULLPTR QT_CONFIG
Q_OBJECT
Q_PROPERTY
Q_SLOTS Q_SIGNALS
#ifdef Q_COMPILER_EXPLICIT_OVERRIDES
define Q_DECL_OVERRIDE override
define Q_DECL_FINAL final
#else
Q_DISABLE_COPY
/* Some classes do not permit copies to be made of an object. These classes contains a private copy constructor and assignment operator to disable copying (the compiler gives an error message). */ #define Q_DISABLE_COPY(Class) Class(const Class &) Q_DECL_EQ_DELETE; Class &operator=(const Class &) Q_DECL_EQ_DELETE;
// 分配图像空间 int size = av_image_get_buffer_size(AV_PIX_FMT_RGBA, mSize.width(), mSize.height(), 4); /** * 【注意:】这里可以多分配一些,否则如果只是安装size分配,大部分视频图像数据拷贝没有问题, * 但是少部分视频图像在使用sws_scale()拷贝时会超出数组长度,在使用使用msvc debug模式时delete[] m_buffer会报错(HEAP CORRUPTION DETECTED: after Normal block(#32215) at 0x000001AC442830370.CRT delected that the application wrote to memory after end of heap buffer) * 特别是这个视频流http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4 */ m_buffer = new uchar[size + 1000]; // 这里多分配1000个字节就基本不会出现拷贝超出的情况了,反正不缺这点内存 // m_image = new QImage(m_buffer, m_size.width(), m_size.height(), QImage::Format_RGBA8888); // 这种方式分配内存大部分情况下也可以,但是因为存在拷贝超出数组的情况,delete时也会报错 m_end = false; returntrue; }