我正在使用<Phonon/VideoWidget>
撰写应用程序。
我想要两个窗户。一个是带有视频控件的主窗口 另一个有视频本身。它将显示在另一台显示器中。是不是很好。
如何使用里面的视频制作视频窗口 - 可以移动或重新调整大小?
当不播放任何视频时,视频窗口应显示图像。
答案 0 :(得分:0)
最后我没有使用QStackedWidget,我扩展了Phonon :: Video Widget并制作了这个类......
继承人cpp:
MyVideoWidget::MyVideoWidget(QWidget *parent) : Phonon::VideoWidget(parent)
{
label = new QLabel(this);
label->setAutoFillBackground(true);
label->setBackgroundRole(QPalette::Light);
label->setScaledContents(true);
}
void MyVideoWidget::mouseDoubleClickEvent(QMouseEvent* event)
{
if(!this->isFullScreen())
this->enterFullScreen();
else
this->setFullScreen(false);
}
void MyVideoWidget::keyPressEvent(QKeyEvent* event)
{
if(event->key() == Qt::Key_Escape)
{
if(!this->isFullScreen())
this->enterFullScreen();
else
this->setFullScreen(false);
}
}
void MyVideoWidget::enterImageMode(QString imagePath)
{
QPixmap pmap;
pmap.fill(QColor(255, 255, 255));
if(!pmap.load(imagePath))
{
label->setText("Erro ao carregar imagem: "+imagePath);
if(!label->isVisible())
label->show();
return;
}
label->setPixmap(pmap);
if(!label->isVisible())
label->show();
repaint();
}
void MyVideoWidget::enterVideoMode()
{
label->hide();
}
void MyVideoWidget::resizeEvent(QResizeEvent* event)
{
Phonon::VideoWidget::resizeEvent(event);
label->setGeometry(this->geometry());
repaint();
}
MyVideoWidget::~MyVideoWidget()
{
}