QVideoWidget 对齐时不显示任何内容
QVideoWidget doesn't show anything when aligned
我遇到了一个奇怪的问题,需要一些帮助。这种情况很简单:我有一个QMediaPlayer、QVideoWidget和一些布局(例如QVboxLayout;好吧,这其实并不重要)。问题是,当我添加指定对齐的QVideoWidget时,视频不会显示,只有一个小部件的位置,一个没有视频的空白区域。如果我在没有指定对齐的情况下添加它,也没有问题。下面是代码示例:
小工具.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() {}
};
有什么建议吗?提前谢谢。
UPD:
发现了一件有趣的事情——如果";q调试">geometry()具有中心对齐的视频小部件">关闭";它看起来像这样:QRect(11,11 579x459)但如果我试图将它与中心对齐,它看起来像是:QRect(300240 0x0)
左对齐:QRect(11,11 0x456)
我不知道为什么会发生这种情况,也不知道解决这个问题的正确方法是什么,但即使我用QGraphicsScene QGraphicsView QGraphicsVideoItem链更改QVideoWidget,它也会重复。
好吧,在stackoverflow上(对不起,错过了确切的链接),我发现了不要在布局中的小部件上使用对齐的建议,相反,最好在必须对齐的小部件内部使用对齐。这就是为什么我关闭了布局的对齐,并将插入到布局中的小部件的内容居中。看起来像黑客,但它确实有效。谢谢你的帮助。
相关文章:
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- QChart在使用QDateTimeAxis时不显示任何系列数据
- 为什么静态数组成员变量在调用对象的实例后不显示任何内容?
- 为什么下面的Hello World程序在PowerShell上没有显示任何输出?同一程序在CMD上显示正确的输出
- 是否有任何内置的哈希图函数来处理 c++ 中的值输入?
- 是否有任何内置函数可以检查给定的两个数字在给定整数数组中的顺序是否相同?
- C++ 中是否有任何内置阶乘函数?
- 是否有任何内置函数可以告诉编译器分支是否可预测
- 在不到一分钟的情况下,在一秒钟内显示计时器
- 我需要在C /C#中使用图形.我可以使用任何内置的C /C#库
- 是否有任何内置类可以处理C 中的大整数值
- c ++中是否有任何内置功能可以在计划的时间运行任务
- 是否有任何内置的 UTF 在 c++ 在窗口中
- 在VC++2010中执行任何内置的ARRAY函数
- C++:如何在不使用任何内置函数的情况下将字符串转换为整数
- 如何将文件的路径(或任何文本)显示/附加到编辑框中?(C++ Win32 API)
- 是否有任何内置的CUDA函数允许CUDA内核向主机代码报告错误?
- 我如何在常数时间(O(1))内获得字母表(1-26)中字符的数值/位置,而不使用任何内置方法或函数
- C++中的任何内置哈希方法
- c++库中的任何内置夹子方法