在qwidget中使用布局

问题描述

| 我在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。