使用qwidget中的布局
问题描述:
我在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尺寸的视频。有人能帮助我吗?任何帮助,将不胜感激。
答
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。
视频上的定义是什么?你确定你正在播放576像素宽的视频吗? – Abhijith 2011-05-31 12:59:24