Qt 如何将标题设置为QListView

Qt 如何将标题设置为QListView,qt,qt4,qt5,qlistview,qheaderview,Qt,Qt4,Qt5,Qlistview,Qheaderview,我有一个QListView,其中有5项。在我看来,比如说(美国、加拿大、丹麦、埃及、芬兰)。现在我想为所有这些项目设置一个通用的标题作为国家。如何将标题设置为QListView。请帮忙。好吧,你不能直接,但你可以这样做 mHb = new QHBoxLayout; { QVBoxLayout *tInnerVB = new QVBoxLayout; { QLabel *tHeader = new QLabel("Team

我有一个QListView,其中有5项。在我看来,比如说(美国、加拿大、丹麦、埃及、芬兰)。现在我想为所有这些项目设置一个通用的标题作为国家。如何将标题设置为QListView。请帮忙。

好吧,你不能直接,但你可以这样做

    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文档说明:此视图不显示水平或垂直标题;要显示具有水平标题的项目列表,请改用QTreeView。首先,如果您使用的是QListView,那么您将使用一个模型。如果您使用的是一个模型,子类化它只是重载成员函数
headerData(int,Qt::Orientation,constqvariant&,int)
,以给出标头。