0

我使用QTreeViewandQStandardItemModel将其内容(从 xml 文件中读取)显示在tree view. 文件解析器工作正常,但是当我使用视图显示数据时,sizePolicy它就不起作用。
为什么?如何使树的面积扩大?
(如下所示,哪个树视图没有展开?)

树的展示图片:
在此处输入图像描述

代码(编辑以添加“布局”部分,但也不起作用。):

...
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();
4

1 回答 1

0

我现在解决了问题:
在此处输入图像描述

但是还是不知道怎么去掉header...
问题是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);

于 2013-03-17T06:55:14.683 回答