• 4769阅读
  • 1回复

qt5 设置了TranslucentBackground和FramelessWindowHint ,用QVideoWidget 播放视频有声音却没显示 [复制链接]

上一主题 下一主题
离线liyingzai
 

只看楼主 倒序阅读 楼主  发表于: 2015-11-26
qt5 设置了TranslucentBackground和FramelessWindowHint ,用QVideoWidget 播放视频有声音却没显示
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    resize(400,300);

    setWindowFlags(Qt::Window |Qt::FramelessWindowHint);
    setAttribute(Qt::WA_TranslucentBackground,true);

    player=new QMediaPlayer;
    videoWidget=new QVideoWidget(this);
    videoWidget->setGeometry(this->rect());
    QString  MP4="H:/project/black/black/MP4/Tell_Your_World.mp4";

    player->setMedia(QUrl::fromLocalFile(MP4));
    player->setVideoOutput(videoWidget);
    player->play();
}
qt版本是qt5.3.0 系统是win7 X64 开发软件是QTcreate 设置了TranslucentBackground和FramelessWindowHint ,用QVideoWidget 播放视频有声音却没显示,随便屏蔽一句都有视频显示。

方法1:用其他窗体透明方式,但是除了TranslucentBackground外,setstylesheet、qpalette方式设置alpha都是全黑,求高手指教!!
方法2:按官网的提示修改,官网有类似的问题,网址是http://qt-project.org/forums/viewthread/42867,但是试过用继承qvideowidget重写paintevent都无法解决。

有高手遇过同样问题么?求具体解决方法!!!
离线zhushentian

只看该作者 1楼 发表于: 2018-09-07
我之前也遇到这个问题,参考下 https://blog.csdn.net/zhushentian/article/details/81486837
里面提到了官方的答复
https://wiki.qt.io/Technical_FAQ#OpenGL_and_translucent_background_do_not_work_together_due_to_a_limitation
虽然是OpenGL的,但是我觉得原因应该是一样的。
快速回复
限100 字节
 
上一个 下一个