QGraphicsProxyWidget无效,Qwidget是

时间:2015-03-06 05:44:57

标签: video qwidget

目前,下面的代码正在显示视频输出。但是当我评论窗口(QWidget),setLayout(),show()和取消注释QGraphicsProxyWidget时,视频输出没有显示。请帮助。

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QGraphicsScene scene;
    ml = new WidgetMarqueeLabel(this);
    ml->setDirection(1);
    ml->setSpeed(1);
    ml->setAlignment(Qt::AlignBottom);
    ml->setText(QString("%1").arg(xmlValue[2]));
    ml->setFont(QFont("Arial", 15,30));
    QGridLayout *layout= new QGridLayout;
    video();

    layout->addWidget(videoWidget,0,0);
    layout->addWidget(videoWidget1,0,1);
    layout->addWidget(ml,1,0,1,2);
    layout->setColumnStretch(0,10);
    layout->setColumnStretch(1,10);

     QWidget *window= new QWidget;
     window->setLayout(layout);
     //    When i remove this comment and use proxy,app not working
     //    QGraphicsProxyWidget* proxy = scene.addWidget(window);
     //    QGraphicsView view(&scene);
     //    view.setWindowTitle("QWidget");
     //    view.setFixedSize(800,900);
     //    view.show();

     window->setLayout(layout);
     window->resize(1500,400);
     window->show();
      }

     //create new mediaplaylist, mediaplayer, Videowidget, playlist
     void MainWindow::video()
     {
         QString RealVideo1=xmlValue[0];
         playlist= new QMediaPlaylist();
         player= new QMediaPlayer;
         videoWidget = new QVideoWidget;
         playlist->addMedia(QUrl::fromLocalFile("/opt/night.mp4"));
         playlist->addMedia(QUrl::fromLocalFile("/opt/V7.mp4"));
         playlist->addMedia(QUrl::fromLocalFile("/opt/hotgirl.mp4"));
         playlist->addMedia(QUrl::fromLocalFile("/opt/bird.mp4"));
         playlist->addMedia(QUrl::fromLocalFile("/opt/arrow.mp4"));


         playlist->setPlaybackMode(QMediaPlaylist::Loop);
         playlist->setCurrentIndex(1);
         player->setPlaylist(playlist);
         player->setVolume(100);

         QString RealVideo2=xmlValue[1];
         playlist1= new QMediaPlaylist();
         playlist1->setPlaybackMode(QMediaPlaylist::Loop);
         player1= new QMediaPlayer;
         videoWidget1 = new QVideoWidget;
         playlist1->addMedia(QUrl::fromLocalFile("/opt/abc.mp4"));
         player1->setPlaylist(playlist1);
         player1->setVolume(0);

         player->setVideoOutput(videoWidget);
         player1->setVideoOutput(videoWidget1);
         playlist->setCurrentIndex(1);
         playlist1->setCurrentIndex(1);
         player->play();
         player1->play();
       }

       MainWindow::~MainWindow()
       {
         delete ui;
         }

0 个答案:

没有答案