如何将标题设置为 QListView
Posted
技术标签:
【中文标题】如何将标题设置为 QListView【英文标题】:How to set a Header to a QListView 【发布时间】:2013-11-20 10:40:34 【问题描述】:我有一个 QListView,其中有 5 个项目。在我的 QListView 中说(美国、加拿大、丹麦、埃及、芬兰)。现在我想为所有这些项目设置一个通用的标题作为国家。如何将 Header 设置为 QListView。请帮忙。
【问题讨论】:
QListView 文档说:这个视图不显示水平或垂直标题;要显示带有水平标题的项目列表,请改用 QTreeView。 首先,如果您使用 QListView,您将使用模型。如果您使用的是模型,子类它只是重载成员函数headerData ( int, Qt::Orientation, const QVariant &, int )
以提供标题。
【参考方案1】:
嗯,你不能直接但是,你可以这样做。
mHb = new QHBoxLayout;
QVBoxLayout *tInnerVB = new QVBoxLayout;
QLabel *tHeader = new QLabel("Team List");
tHeader->setFont(QFont("FontAwesome"));
tInnerVB->addWidget(tHeader);
mTeamViewModel->setStringList(BDatabase::instance()->getTeamList());
mLeTeamList->setModel(mTeamViewModel);
tInnerVB->addWidget(mLeTeamList);
mHb->addLayout(tInnerVB);
tInnerVB = new QVBoxLayout;
QLabel *tHeader = new QLabel("Team Members");
tHeader->setFont(QFont("FontAwesome"));
tInnerVB->addWidget(tHeader);
mMembersViewModel->setStringList(QStringList());
mLeTeamMembers->setModel(mMembersViewModel);
tInnerVB->addWidget(mLeTeamMembers);
mHb->addLayout(tInnerVB);
输出如下:
此外,您可以通过标签更改方向、对齐方式和其他内容。很好的编码:)
【讨论】:
以上是关于如何将标题设置为 QListView的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Header 设置为 UICollectionView
如何将透明的“大标题”UINavigationBar 重置为默认外观设置?