我在RHEL 6.0上使用qt 4.7。我发现很难使用te布局。这是我的代码。

我有两个使用网格布局排列的小部件。

QWidget *topWidget = new QWidget();
QWidget *bottomwidget = new QWidget();


这两个小部件包含在QFrame中。因此,现在我想完全在上面两个小部件的黑白中添加一个QPhonon :: VideoPlayer小部件。对于添加做这样的..

VideoPlayer *vPlayer = new VideoPlayer(Phonon::VideoCategory,this);
vPlayer->setSizePolicy(QSizeHint::Expanding, QSizeHint::Expanding);
QVBoxLayOut *layOut = (QVBoxLayOut*)ui->frame->layout();
layout->insertWidget(1,vPlayer,5,Qt::AlignCenter);


所有topWidget,boottomWidget的大小分别为768和576,即D1视频帧的大小。我正在vPlayer声子小部件中播放视频。但是我看到的是vPlayer的尺寸很小,视频的尺寸也很小。表示我看不到768/576尺寸的视频。有人可以帮我吗?任何帮助,将不胜感激。

最佳答案

1)

QVBoxLayOut *layOut = (QVBoxLayOut*)ui->frame->layout();


不要使用C样式转换!采用

dynamic_casr<QVBoxLayout*>(ui->frame->layout())


2)尝试vPlayer-> setMinimumSize(QSize(500,500))

3)据我所知Qt,如果您想更改GUI或构造复杂的GUI,则最好自行构造GUI,而不是QtDesigner。

08-06 18:03