2011-05-31 141 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。