由QTreeView显示的树的区域不扩展到其父部件?
问题描述:
我使用QTreeView
和QStandardItemModel
在tree view
中显示其内容(从xml文件中读取)。文件解析器工作正常,但是当我使用视图来显示数据时,sizePolicy
只是不起作用。
为什么?如何使树的面积扩大?
(它显示了象下面,该树视图不会扩展?)树的显示的由QTreeView显示的树的区域不扩展到其父部件?
图片:
代码(编辑以添加“布局”的一部分,但不是工作,其一):
...
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();
答
我得到了现在的问题解决了:
但是仍然不知道如何去掉头文件...
这个问题是由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);
看来:
PS2:
删除头成功!:
评论model->setHorizontalHeaderLabels(QStringList(""));
添加view->header()->setVisible(false);
+0
view-> setHeaderHidden(false) – darkgaze 2013-03-21 10:40:09
您是否已将“QTreeView”添加到父级窗口小部件的布局? – user2155932 2013-03-17 03:27:35
@ user2155932如何添加? – Al2O3 2013-03-17 03:29:25
Look [here](http://qt-project.org/doc/qt-4.8/layout.html) – user2155932 2013-03-17 03:31:53