6 第一个VM界面:6.1 添加容器控件QAxWidget:QAxWidget类是一个包装ActiveX控件的Qwidget,绑定VM控件到QAxWidget控件,VM相关控件在安装时已经注册到windows组件中。
#23 和 #24 将两个控件加入布局管理器 layout 中, #26 在窗体部件上安装布局管理器 layout,此时 QHBoxLayout 以及它包含的 QSpinBox 和 QSlider 会自动 “重新定义” 父窗口,QWidget 会取得它们的所有权,这也是它们在创建时没有设置父窗口的原因;
264. 在linux上编译动态库文件,可能会生成一堆软连接文件,很多时候看起来很烦,习惯了windows上就生成一个文件,你只需要在你的pro或者pri中加上一行 CONFIG += plugin 即可,这样只会生成一个libuntitled.so文件。
- 经过大量的对比测试,包括插入、删除、批量、查询、分页等操作,千万量级数据,在Qt数据库部分响应速度这块,友好度排名依次是 sqlite > postgresql > oracle > mysql > odbc 。
这个解码线程基类的设计,是到目前为止个人觉得自己设计的最好的基类之一,当然也不是一开始就知道这样设计,没有个三五年的摸爬滚打以及社会的毒打,是想不到要这样设计的,一方面是要不断提炼各种视频类视频组件的共性作为局部变量,比如通用的参数有视频画面宽度videoWidth、视频画面高度videoHeight、视频画面帧率frameRate、视频旋转角度rotate、音频采样率sampleRate、音频通道数channelCount等。
从代码层面以及自由度来说,用ffmpeg来写全能播放组件是最佳方案,尽管已经有优秀的vlc/mpv等方案可以直接用,但是vlc/mpv对标主要是播放器应用层面,其他层面比如视频监控行业领域就比较鸡肋,所以还是从底层一点一滴做解码编码会让自己更熟练。