离开全屏后QVideoWidget是新窗口

时间:2014-01-28 15:02:30

标签: c++ qt

我希望我的视频播放器在双击时显示QVideoWidget全屏。我创建了一个新类,继承了QVideoWidget类,然后我覆盖了mousDoubleClickEvent

//Mouse event in new VideoWidget Class
void VideoWidget::mouseDoubleClickEvent(QMouseEvent *event)
{
    if( isFullScreen() )
        showNormal();
    else
        setFullScreen( true ); //Show in fullscreen
}

VideoWidget用于我的主窗口,其中(稍后)放置所有其他小部件。

void MainWindow::setupUi()
{
    QWidget* centralWidget = new QWidget( this );
    QHBoxLayout* centralLayout = new QHBoxLayout( centralWidget );

    videoWidget = new VideoWidget( this );

    setCentralWidget( centralWidget );
    centralLayout->addWidget( videoWidget );
}

现在的问题是,当我通过双击进入全屏模式并通过双击再次退出时,视频小部件不再位于MainWindow中。这是一个新窗口。如何将其重新置于旧位置?

编辑: videoWidget似乎位于新窗口和我的centralLayout中。但是当我关闭新窗口时,它也会在centralLayout中消失。

1 个答案:

答案 0 :(得分:0)

我认为在切换全屏时,视频小部件正从主窗口中分离出来。也许您应该在返回正常模式后尝试手动将其重新添加到布局中。