如何将标题设置为 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 重置为默认外观设置?

如何将图像设置为 DataGrid 标题背景?

如何将标题设置为 UIPopOverController 导航栏?

如何将边缘设置为零?

如何将图像设置为 UISearchBar 的范围栏项目?