QT制作全屏播放器以及出现的问题
使用QT做播放器使用widget::winid可以获取播放器组件的windows句柄并以命令行的方式调起另一个程序使用D3D将内存缓冲区的图像打在上面。但是在做全屏是出现了问题,如果让播放器组件自己独立全屏就使用代码:
MainWindow::MainWindow(QWidget *parent) { _previewInitParent = ui->preview->parentWidget(); _previewInitPoit = ui->preview->pos(); _previewInitSize = ui->preview->size(); } void MainWindow::toggleFullscreen(){ if (ui->preview->isFullScreen() || ui->preview->parentWidget() == NULL) { ui->preview->setParent(_previewInitParent);// ui->preview->resize(_previewInitSize); ui->preview->move(_previewInitPoit); ui->preview->show();///<改变parent之后要show } else { ui->preview->setParent(NULL); ui->preview->showFullScreen(); } }
但是,这样出现的问题就是切换到全屏,或者是全屏切回组件,这个播放器窗口/组件(widget)的winid发生了改变,上面就不会再显示视频了。
搜索解决禁止winid改变的方法未果,我就换了一种方式做全屏,将整个主窗口全屏,然后让播放器扩大到整个窗口中,采用代码:
void MainWindow::toggleFullscreen() { if (this->isFullScreen()) { this->showNormal(); ui->preview->resize(_previewInitSize); ui->preview->move(_previewInitPoit); this->statusBar()->show(); } else { this->showFullScreen(); ui->preview->resize(this->size()); ui->preview->move(0, 0); this->statusBar()->hide(); } }
有谁能解决winid不改变时切换组件的全屏,请告之……
转载于:https://www.cnblogs.com/k1988/archive/2011/03/03/2165607.html
QT制作全屏播放器以及出现的问题相关推荐
- FFmpeg —— Win10下使用Qt制作多功能播放器
Win10下使用Qt制作多功能播放器 视频地址 Win10下使用Qt制作多功能播放器 ...int result = avformat_open_input(&avForm ...
- QT——制作简易音频播放器
应用前提:只需要从阿里云数据库中读取选定的某一条实验数据的音频(.wav),现在的测试版本只是播放本地音频,所以做的这个音频播放器只有6个功能:播放.暂停.音量条.静音.进度条.显示当前播放进度的时间 ...
- QT制作一个图片播放器
前言:使用qt制作了一个简单的图片播放器,可以播放gif.png等格式图片 先来看看播放器的功能(当然是很简陋的,没有很深入的设计): 1.点击图片列表中图片进行播放. 2.自动播放,播放的图片的间隔 ...
- 【C++】QT制作简单音乐播放器
QT音乐播放器Mymusic 整体布局 写ui文件: Headers Sources 整体布局 创建QT项目,使用Qt5.9版本 分为三栏,最上面放标题和图标,中间放播放的列表,最下面放控制按钮. 引 ...
- Flowplayer播放器flash全屏播放器带播放按钮
Flowplayer 是一个开源(GPL 3的)WEB视频播放器.您可以将该播放器嵌入您的网页中,如果您是开发人员,您还可以自由定制和配置播放器相关参数以达到您要的播放效果.本文主要介绍Flowpla ...
- html全屏播放器代码,Bilibili HTML5播放器网页全屏模式优化 脚本版
// ==UserScript== // @name Bilibili HTML5播放器网页全屏模式优化 脚本版 // @namespace http://tampermonkey.net/ // @ ...
- Chromium为视频标签 video 全屏播放的过程分析
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在Chr ...
- Chromium为视频标签video全屏播放的过程分析
在Chromium中,<video>标签有全屏和非全屏两种播放模式.在非全屏模式下,<video>标签播放的视频嵌入在网页中显示,也就是视频画面作为网页的一部分显示.在全屏模式 ...
- Qt图片定时滚动播放器+透明过渡动画
目录 参考 结构 PicturePlay.pro main.cpp myqlabel.h 自定义QLabel myqlabel.cpp自定义QLabel pictureplay.h picturepl ...
最新文章
- java {@link},Javadoc @see或{@link}?
- 简明python教程购买-简明python教程哪版(python看什么书)
- mysql的字符串处理函数
- GPTEE中定义的RSA的Algorithm Identifier详解
- SQL注入是什么?如何防止?
- netty系列之:对聊天进行加密
- Vue项目目录结构注解附assets与static目录的区别
- 解决:springcloud eureka 注册的服务config-client 状态Status:UNKNOWN (1)
- 行业观察:拐点已至!抛弃传统数据库,乘云而上!
- python坐标定位_python实现获取屏幕坐标位置值+VBS模拟鼠标操作
- PMP考试只刷题能否通过呢?
- 平方项知多少?平方项、分组回归与门槛模型
- pcb 受潮_PCB受潮影响性能有什么好的处理方法?
- Java实现——求指定年份的父亲节(母亲节)是几月几号
- VBA 中Dim含义
- (附源码)pringboot餐饮点餐系统 毕业设计301749
- 大学必须掌握的软件基础课程
- 初识CMake,如何编写一个CMake工程(上)
- python:实现Triplets with zero sum零和三元组(附完整源码)
- PS4计算机模块试题,越玩越留恋的PS4独占大作,馋坏了PC玩家,纷纷加入主机行列...
热门文章
- java jframe 对话框_java-如何将值从JDialog框返回到父JFrame?
- MAVEN创建项目后缺少文件夹
- VB APP对象属性一览表 + 灵活使用VB的APP对象
- VB在菜单上增加图标
- 想快速了解AI各领域的前沿研究成果?可以来这个网站看看 | 资源
- 北京公交将标配智能辅助驾驶,具备行人防撞、车道偏离预警
- 长途货运4大痛,Uber新上的「自动驾驶卡车」如何改善?
- DeepMind提出训练网络新方法,快速找到最佳超参数和模型
- django文件——django + jquery-file-upload上传篇(二)-- 插件实现文件上传+进度条显示 +拖入文件上传...
- Angular4的QuickStart—— ES6 而非TypeScript