چگونه فیلمی را روی ویجت شفاف شده نمایش بدیم؟



  • p{direction:rtl; text-align:right}. در یک برنامه نیاز دارم یک فیلمی را روی یک ویجتی که فلگ Qt::FramelessWindowHint و خصوصیت Qt::WA_TranslucentBackground داره نمایش بدم.هر دوی QVideoWidget و QGraphicsVideoItem را تست کردم ولی در چنین شرایطی تصویر فیلم بدرستی نمایش داده نمیشه و فقط صدای فیلم شینده میشه .بنظرتون مشکل از کجاست ؟ راه حلی بنظرتون نمیاد؟

    @

    #include "videoplayer.h"
    #include <QtWidgets/QApplication>
    #include "qboxlayout.h"
    #include "qvideowidget.h"

    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);
    QWidget *w = new QWidget;
    w->setWindowFlags(Qt :: Window | Qt::FramelessWindowHint );
    w->setAttribute(Qt::WA_TranslucentBackground, true);
    w->setMinimumSize(300,200);

    QVideoWidget *videoWidget = new QVideoWidget;
    
    QBoxLayout *controlLayout = new QHBoxLayout;
    controlLayout->setMargin(0);
    controlLayout->addWidget(videoWidget);
    w->setLayout(controlLayout);
    
    QMediaPlayer mediaPlayer;
    mediaPlayer.setVideoOutput(videoWidget);
    mediaPlayer.setMedia(QUrl::fromLocalFile&#40;"C:/1.wmv"&#41;);
    
    videoWidget->show();
    mediaPlayer.play();
    
    w->show();
    return app.exec();
    

    }

    @

    p{direction:rtl; text-align:right}. با حذف دو خط

    @
    w->setWindowFlags(Qt :: Window | Qt::FramelessWindowHint );
    w->setAttribute(Qt::WA_TranslucentBackground, true);
    @

    p{direction:rtl; text-align:right}. فیلم بدرستی نمایش داده میشود.



  • p{direction:rtl; text-align:right}. حل شد
    در "اینجا":http://qt-project.org/forums/viewthread/42867/ جواب رو قرار دادم


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.