由QTreeView显示的树的区域不扩展到其父部件?

问题描述:

我使用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

我得到了现在的问题解决了:
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