SDL渲染QT界面时应注意的事

这段时间一直在研究用QT做个播放器的事情,发现如下几个问题,特来记录与分享

        1.QWidget在设置全屏与还原时,他的窗口句柄是会变的!在设置全屏以及还原之后 qDebug <<(HWND)Widget->winId();就可以看见。这个问题,我的解决方法是,在这个widget里面 再放一个widget。。 然后布局一下以使他可以跟着父窗口全屏而可以全屏。

      2. SDL渲染界面时,界面大小改变画面就会停留在最后一帧,但是声音还是会继续播放,这种问题,时需要修改SDL源码,然后编译生成新的lib文件与DLL文件的,若你需要,可以留言或加本人QQ,我会将修改后编译的文件发送与你,这种东西不想上传,感觉像是骗大家积分。

下载SDL2源码,重新编译
     修改 SDL_video.c 的 void 
SDL_OnWindowResized(SDL_Window * window)函数
     将   SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, window->w, window->h);
     改为 SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, window->w, window->h);

即可

 

      3.如果你在使用ffmpeg库时,  发现35——45个大部分是这种类型的错误时“expected initializer before 'int64_t'”,请搜索关键词“inline”,若所有问题都与这个关键词有关,那么恭喜你  找到了问题所在,这种问题发生的方式很多样,我的解决方法是,在使用ffmpeg的头文件中  注释了

#define inline _inline” 。

      4.这个记录是针对我这种XX来说的。。  一定要将动态链接库。。放置在deBug运行目录下,  哎,不然运行就会崩溃。

暂时记录至此,如果有疑问,欢迎留言或加本人QQ讨论。

 

QQ:2942800767.

你可能感兴趣的:(SDL渲染QT界面时应注意的事)