2011-05-31 49 views
0

我在RHEL 6.0上使用qt 4.7。我发现非常difficut使用te布局。这是我的代码。使用qwidget中的布局

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

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

这两个小部件包含在一个QFrame中。所以现在我想添加一个QPhonon :: VideoPlayer小部件完全在b/w上面的两个小部件。对于加入正在做这样的..

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尺寸的视频。有人能帮助我吗?任何帮助,将不胜感激。

+0

视频上的定义是什么?你确定你正在播放576像素宽的视频吗? – Abhijith 2011-05-31 12:59:24

回答

0

1)

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

不要使用C-风格的转换!使用

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

2)尽量vPlayer->了setMinimumSize(QSIZE(500,500))

3)而且据我所知Qt的,如果你想改变GUI或构建复杂的问题,然后最好是自己构建GUI,而不是使用QtDesigner。