【发布时间】:2010-12-06 23:00:44
【问题描述】:
我一直在一些论坛上阅读有关 WordWrap 不适用于 QTreeView(如屏幕外显示的文本)的信息,但我找不到任何解决此问题的“黑客”。 bookTreeView 被封装在另一个小部件中,这可能是问题......或者它只是不支持?
bookTreeView->setModel(standardModel);
bookTreeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
bookTreeView->setWordWrap(true);
bookTreeView->sizeHint();
bookTreeView->setTextElideMode(Qt::ElideNone);
bookTreeView->setExpandsOnDoubleClick(true);
bookTreeView->setUniformRowHeights(true);
bookTreeView->setHeaderHidden(true);
bookTreeView->setStyleSheet("QTreeView { font-size: 27px; show-decoration-selected: 0; } QTreeView::branch:has-siblings:!adjoins-item { border-image: none; } QTreeView::branch:has-siblings:adjoins-item { border-image: none; } QTreeView::branch:!has-children:!has-siblings:adjoins-item { border-image: none;} QTreeView::branch:has-children:!has-siblings:closed, QTreeView::branch:closed:has-children:has-siblings { border-image: none; image: url(':images/images/right_arrow.png'); } QTreeView::branch:open:has-children:!has-siblings, QTreeView::branch:open:has-children:has-siblings { border-image: none; image: url(':images/images/down_arrow.png'); } ");
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(someWidget);
layout->addWidget(bookTreeView);
QWidget *page = new QWidget;
page->setLayout(layout);
return page;
【问题讨论】:
-
您可以使用自己的项目委托在单元格内实现自动换行。您将不得不重新实现 sizeHint 和 paint 方法
-
这个问题解决了吗?已经快五年了。这是显示目录结构的重要视图类型,似乎自动换行在某些情况下非常有用。
-
6 年了,我正在寻找同样的东西! Qt5.6