QTreeView显示的树区域不会扩展到其父窗口小部件?

时间:2013-03-17 03:14:30

标签: c++ qt view model qtreeview

我使用QTreeViewQStandardItemModeltree view中显示其内容(从xml文件中读取)。文件解析器工作正常,但是当我使用视图显示数据时,sizePolicy只是不起作用。
为什么?如何使树木面积扩大? (如下所示,哪个树视图不会展开?)

树的显示图片:
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 个答案:

答案 0 :(得分: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);

相关问题