gpt4 book ai didi

c++ - QVideoWidget 对齐时不显示任何内容

转载 作者:行者123 更新时间:2023-11-28 06:18:41 27 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,需要一些帮助。情况很简单:我有一个 QMediaPlayerQVideoWidget 和一些布局(例如 QVboxLayout;好吧,这并不重要) .问题是当我添加指定对齐方式的 QVideoWidget 时 - 视频没有显示,只有一个地方可以放置小部件,一个没有视频的空白区域。如果我在不指定对齐方式的情况下添加它,也没有问题。这是代码示例:

Widget.h:

class Widget : public QWidget
{
Q_OBJECT

public:
Widget(QWidget *parent = 0)
: QWidget(parent)
{
QVideoWidget *vw = new QVideoWidget();
QVBoxLayout *vb = new QVBoxLayout();
vb->addWidget(vw, 0/*, Qt::AlignCenter*/); /// << here's the problem block
this->setLayout(vb);

QMediaPlayer *pl = new QMediaPlayer();
pl->setMedia(QMediaContent(
QUrl::fromLocalFile("D:/1.wmv")));
pl->setVideoOutput(vw);
pl->play();
this->resize(600, 480);
}
~Widget() {}
};

有什么建议吗?提前致谢。

更新:

发现一个有趣的事情 - 如果视频小部件的“qDebugging”geometry() 中心对齐“off”,它看起来像这样:QRect(11, 11 579x459)但如果我尝试将它对齐到中心,它看起来像这样:QRect(300,240 0x0)

左对齐:QRect(11,11 0x456)

不知道为什么会发生这种情况以及解决此问题的正确方法是什么,但即使我将 QVideoWidget 更改为 QGraphicsScene-QGraphicsView-QGraphicsVideoItem 链也会重复.

最佳答案

好吧,在 stackoverflow 上(抱歉,错过了确切的链接)我发现建议不要在布局中的小部件上使用对齐,而是最好在必须对齐的小部件内部使用对齐。这就是为什么我关闭了布局的对齐方式并将插入到布局中的小部件的内容居中的原因。看起来像 hack,但它确实有效。感谢您的帮助。

关于c++ - QVideoWidget 对齐时不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29728172/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com