2013-03-17 21 views
0

我使用QTreeViewQStandardItemModeltree view中顯示其內容(從xml文件中讀取)。文件解析器工作正常,但是當我使用視圖來顯示數據時,sizePolicy只是不起作用。
爲什麼?如何使樹的面積擴大?
(它顯示了象下面,該樹視圖不會擴展?)樹的顯示的由QTreeView顯示的樹的區域不擴展到其父部件?

圖片:
enter image description here

代碼(編輯以添加「佈局」的一部分,但不是工作,其一):

... 
QStandardItemModel *model = new QStandardItemModel(); 
preOrder(doc.firstChild(), model); 
view = new QTreeView(pageDetails); 
view->setModel(model); 

model->setHorizontalHeaderLabels(QStringList("")); 

QHBoxLayout* lay=new QHBoxLayout(pageDetails); 
lay->setContentsMargins(0, 0, 0, 0); 
lay->addWidget(view); 
view->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); 
pageDetails->setLayout(lay); 

view->show(); 
+1

您是否已將「QTreeView」添加到父級窗口小部件的佈局? – user2155932 2013-03-17 03:27:35

+0

@ user2155932如何添加? – Al2O3 2013-03-17 03:29:25

+0

Look [here](http://qt-project.org/doc/qt-4.8/layout.html) – user2155932 2013-03-17 03:31:53

回答

0

我得到了現在的問題解決了:
enter image description here

但是仍然不知道如何去掉頭文件...
這個問題是由Qt Designer造成的。我使用它來添加父窗口小部件UI,但將其設置爲設計器中的水平佈局(有點難以找到)。
我只是不知道爲什麼上面的代碼在這種情況下不起作用。

PS:
如果我離開的代碼註釋:

//QHBoxLayout* lay=new QHBoxLayout(pageDetails); 
//lay->setContentsMargins(0, 0, 0, 0); 
//lay->addWidget(view); 
//view->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); 
//pageDetails->setLayout(lay); 

看來:
enter image description here

PS2:
刪除頭成功!:
評論model->setHorizontalHeaderLabels(QStringList(""));
添加view->header()->setVisible(false);

+0

view-> setHeaderHidden(false) – darkgaze 2013-03-21 10:40:09